※ 다운로드 (완전 무료)
설치 후 아래 예제를 따라하면 쉽게 배포 프로그램을 만들 수 있다.
※ 예제
1. 폴더 생성
1.1 배포 프로그램에 포함되는 파일이 있는 폴더를 만든다.
c:\NSIS Test\SourceFile
1.1.1 폴더를 생성하고 배포 파일을 만든다. 마우스 오른쪽 버튼으로 보이는 메뉴에서 "새로 만들기>텍스트 문서"로 일반 텍스트 문서를 만들고 각각 텍스트파일안에 임의의 문자를 쓴다.
a.txt
b.txt
1.2 배포 프로그램이 생성되는 폴더를 만든다.
c:\NSIS Test\InstallFile
2. 예제 NSIS 스크립트 복사
2.1 NSIS를 실행한다. (시작>프로그램>NSIS)
빨간색 상자 부분을 클릭하면 예제 스크립트가 있는 폴더가 열린다.
2.2 열린 탐색기에서 StartMenu>Example.nsi 파일을 복사해서 c:\NSIS Test\InstallFile 폴더에 Install.nsi로 저장한다.
3. NSIS 스크립트 열기
3.1 Compiler 실행 : 빨간색 상자 부분을 클릭하면 NSIS Complier가 실행된다.
3.2 c:\NSIS Test\InstallFile 폴더에 Install.nsi 파일을 "파일>Load Script..."로 열거나 탐색기에서 드래그 & 드랍으로 Compiler에서 스크립트의 실행을 확인할 수 있다. Test Install 버튼을 누르면 가상으로 프로그램이 실행 된다.
3.3 "Script>Edit Scrit"를 선택하거나 "Ctrl+E"를 누르면 메모장이 열리고 스크립트의 소스를 볼 수 있다.
3.4 c:\NSIS Test\InstallFile 폴더에 보면 Compiler에서 스크립트 실행과 함께 StartMenu Test.exe 파일 생성되는 것을 알 수 있다.
4. NSIS 스크립트 수정
# : 주석
-> : 수정
글자색이 회색인 부분은 삭제한다.
굵은 글자는 수정되는 부분이다.
Name "StartMenu.dll test"
-> Name "대한민국"
OutFile "StartMenu Test.exe"
-> OutFile "Install.exe"
XPStyle on
Page directory
DirText "This installer will create some shortcuts to MakeNSIS in the start menu.$\nFor this it needs NSIS's path." \
-> DirText "a.txt b.txt 파일을 설치합니다.$\n성공할까요?" \
"Please specify the path in which you have installed NSIS:"
-> "설치할 폴더를 선택하세요."
InstallDir "${NSISDIR}"
-> InstallDir "$PROGRAMFILES\Test"
Function .onVerifyInstDir
IfFileExists $INSTDIR\makensis.exe +2
Abort
FunctionEnd
Page custom StartMenuGroupSelect "" ": Start Menu Folder"
Function StartMenuGroupSelect
Push $R1
StartMenu::Select /checknoshortcuts "Don't create a start menu folder" /autoadd /lastused $R0 "StartMenu.dll test"
-> StartMenu::Select /checknoshortcuts "프로그램을 등록하지 않고 설치" /autoadd /lastused $R0 "Test 프로그램"
Pop $R1
StrCmp $R1 "success" success
StrCmp $R1 "cancel" done
; error
MessageBox MB_OK $R1
StrCpy $R0 "StartMenu.dll test" # use default
-> StrCpy $R0 "Test 프로그램" # use default
Return
success:
Pop $R0
done:
Pop $R1
FunctionEnd
Page instfiles
Section
# this part is only necessary if you used /checknoshortcuts
StrCpy $R1 $R0 1
StrCmp $R1 ">" skip
CreateDirectory $SMPROGRAMS\$R0
CreateShortCut $SMPROGRAMS\$R0\MakeNSISw.lnk $INSTDIR\makensisw.exe
SetShellVarContext All
CreateDirectory $SMPROGRAMS\$R0
CreateShortCut "$SMPROGRAMS\$R0\All users MakeNSISw.lnk" $INSTDIR\makensisw.exe
CreateDirectory $SMPROGRAMS\$R0
CreateShortCut "$SMPROGRAMS\$R0\a.txt 열기.lnk" "$INSTDIR\a.txt"
CreateShortCut "$SMPROGRAMS\$R0\b.txt 열기.lnk" "$INSTDIR\b.txt"
SetOutPath $INSTDIR
File ".\..\SourceFile\a.txt"
File ".\..\SourceFile\b.txt"
skip:
SectionEnd
5. NSIS 스크립트 Compile
5.1 Install.nsi 스크립트 파일을 Compile 한다.(3번 참고) Complier를 실행하고 Install.nsi를 열으면 자동으로 컴파일된다.
6. 완료
c:\NSIS Test\InstallFile 폴더에 Install.exe 파일을 실행하여 확인한다.