public:computer:nsis

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
public:computer:nsis [2022/07/20 15:09] – [Scripts] alexpublic:computer:nsis [2022/07/20 17:05] (current) alex
Line 1: Line 1:
 ====== NSIS ====== ====== NSIS ======
 +> Make Install Package using Nullsoft Install System.
  
 ===== Setting Environment ===== ===== Setting Environment =====
Line 11: Line 11:
  
 ===== Preparing Files ===== ===== Preparing Files =====
-  * 설치 패키지를 위한 파일을 준비한다.  +  * 설치 패키지를 위한 파일을 준비한다.  (ustra.7z = VSCode + STS4 + git + node.js + yarn + ..., ustra.ico) 
-  * NSIS Script file; 설치 패키지를 만드는 스크립트, *.nsi+  * NSIS Script file; 설치 패키지를 만드는 스크립트, *.nsi (ustra-dev-tools.nsi)
   * Prepare files to install; 설치할 파일을 준비한다.   * Prepare files to install; 설치할 파일을 준비한다.
-    * make 7z file into Input directory <sxh plaintext>+    * make 7z file into Input directory; 생성한 ustra.7z 파일을 Input 디렉토리에 넣는다. <sxh plain; gutter: false>
     ├─tools     ├─tools
     │  ├─apache-maven-3.8.1     │  ├─apache-maven-3.8.1
Line 28: Line 28:
 </sxh> </sxh>
   * Create Output Directory; 설치 패키지의 최종 결과 파일을 저장할 디렉토리를 생성한다.   * Create Output Directory; 설치 패키지의 최종 결과 파일을 저장할 디렉토리를 생성한다.
-  * Structures; 설치 패키지를 위한 디렉토리 구조는 아래와 같다. <sxh plaintext>+  * Structures; 설치 패키지를 위한 디렉토리 구조는 아래와 같다. <sxh plain; gutter: false>
     └─*.nsi     └─*.nsi
        ├─Input        ├─Input
Line 38: Line 38:
  
 ===== Scripts ===== ===== Scripts =====
-  * 스크립트를 작성다. <sxh asm>+  * HM NIS Edit 를 실행한다. \\ {{:public:computer:2022-07-20_14_30_27.gif|}} 
 +  * 스크립트를 작성하거나 작성된 스크립트 파일을 연다. \\ {{:public:computer:2022-07-20_14_02_31-cut2.gif|}}<sxh plain>
 ; Script generated by the HM NIS Edit Script Wizard. ; Script generated by the HM NIS Edit Script Wizard.
  
Line 164: Line 165:
 Function InstallNodejs Function InstallNodejs
   ; Install Node.js v12.22.9   ; Install Node.js v12.22.9
 +  ReadRegStr $R0 HKLM "SOFTWARE\Node.js" "Version"
 +
   ${If} $R0 == ""   ${If} $R0 == ""
     ;ExecWait 'C:\Windows\SysWOW64\msiexec.exe /i "$INSTDIR\tools\node-v12.22.9-x64.msi"'     ;ExecWait 'C:\Windows\SysWOW64\msiexec.exe /i "$INSTDIR\tools\node-v12.22.9-x64.msi"'
Line 285: Line 288:
  
 ===== Build & Test ===== ===== Build & Test =====
-  * Build; 작성한 스크립트를 빌드한다. 오류가 없으면 설치 파일이 생성된다.+  * Build; 작성한 스크립트를 빌드한다. 오류가 없으면 설치 파일이 생성된다. \\ {{:public:computer:hmnisedit_000_script_compile.png?500|}}{{:public:computer:hmnisedit_001_compile_result.png?500|}}
   * Test on Windows   * Test on Windows
     * 설치 테스트를 위한 Windows 운영체제를 준비한다; 포맷 후 Windows만 설치한 PC 혹은 Hyper-V, VMWare, Virtual Box 등의 가상 머신에 Windows 설치. (가능한 한 응용 프로그램을 설치하지 않은 Windows 운영체제를 추천)     * 설치 테스트를 위한 Windows 운영체제를 준비한다; 포맷 후 Windows만 설치한 PC 혹은 Hyper-V, VMWare, Virtual Box 등의 가상 머신에 Windows 설치. (가능한 한 응용 프로그램을 설치하지 않은 Windows 운영체제를 추천)
Line 310: Line 313:
     * [[https://github.com/GsNSIS/EnVar|EvVar Plugin for NSIS]]     * [[https://github.com/GsNSIS/EnVar|EvVar Plugin for NSIS]]
     * [[https://opentutorials.org/module/3650/21851|NSIS 사용자 설명서 @opentutorials.org]]     * [[https://opentutorials.org/module/3650/21851|NSIS 사용자 설명서 @opentutorials.org]]
 +
 +  * {{:public:computer:2022-07-20_14_02_31.gif?200|}}{{:public:computer:2022-07-20_14_02_31-cut.gif?200|}}
  • public/computer/nsis.1658297399.txt.gz
  • Last modified: 2022/07/20 15:09
  • by alex