티스토리 뷰

1. 설치파일 추가

OutFile “Setup.exe” – 컴파일 후 생성될 설치파일 명
InstallDir “$PROGRAMFILES\myprog” – 프로그램이 설치될 경로

SetOutPath “$INSTDIR” – 파일을 쓸 경로 설정
SetOverwrite on – 파일을 쓸때 덮어쓰기 허용
File “file1.txt” – 설치할 파일 명
File “file2.txt” – 설치할 파일명

스크립트 파일과(.nsi) 설치할 파일들은 같은 경로에 있는 상태에서 컴파일 했다. 경로가 다를경우 File “file1.txt” 에서 컴파일 에러가 발생하며 “파일경로\file1.txt” 로 수정해야 한다.

 


2. 설치경로 변경 ON/OFF

!insertmacro MUI_PAGE_DIRECTORY – 구문 추가시 사용자가 프로그램이 설치될 경로를 지정 할 수있게 해준다. 위 스크립트에서는 사용자가 설치 경로를 변경하지 못하도록주석 처리 했다.

!define MUI_FINISHPAGE_RUN “$INSTDIR\notepad.exe” – 구문 추가시 설치 완료시 프로그램을 바로 실행할지 선택 할 수있도록 해준다.


 

3. 필수구성요소 설치 여부 확인

 .net framework 4.0 미설치 이면 .net framework 다운로드 페이지로 이동 후 설치 진행을 멈추는 기능추가. net framework 설치 여부는 여러가지 방법이 있으며 그 중 net framework 4.0 폴더 유/무에 따라 확인하는 방법을 사용하였다.

!define NETVersion “4.0.30319” – .net 버전 명

IfFileExists “$WINDIR\Microsoft.NET\Framework\v${NETVersion}” NETFrameworkInstalled 0
MessageBox MB_ICONINFORMATION|MB_OK “다운로드 페이지로 이동”
execshell open “
http://www.microsoft.com/ko-KR/download/details.aspx?id=17718” – .net framework 4.0 미 설치( 다운로드 페이지로 이동 )
Quit  – .net framework 4.0 미 설치( 설치 프로그램 종료)
NETFrameworkInstalled: – .net framework 4.0 설치( 위 2가지 구문은 실행하지 않고 진행)

 


 

4. dll 등록 및 해제 프로그램 사용중인지 체크

설치 파일을 쓰기전에 현재 설치하려는 프로그램이 실행 중인지 체크하는 구문 추가. dll 등록이 필요시 dll 등록 프로그램 삭제시 dll 해제 구문추가.

ClearErrors – 에러팝업창을 보여주지 않을경우 사용

RegDll “emptyDll.dll” – DLL 등록

UnRegDll “emptyDll.dll” – DLL 해제

 


 

5. 시작메뉴 추가 및 바탕화면에 바로가기 아이콘 추가

Section -AdditionalIcons
CreateDirectory “$SMPROGRAMS\NSIS노트패드”
CreateShortCut “$SMPROGRAMS\NSIS노트패드\Uninstall.lnk” “$INSTDIR\uninst.exe”
CreateShortCut “$SMPROGRAMS\NSIS노트패드\NSIS노트패드.lnk” “$INSTDIR\notepad.exe” “” “$INSTDIR\notepad.ico”
CreateShortCut “$DESKTOP\NSIS노트패드.lnk” “$INSTDIR\notepad.exe” “” “$INSTDIR\notepad.ico”
SectionEnd


6. 그 외 옵션들

SetCompressor /FINAL /SOLID lzma  – 설치할 파일들을 압축할때 사용 설치파일의 용량을 줄일 수 있다.

;SilentInstall silent – (설치시 진행창을 보여주지 않고 설치해야할 경우 추가)
;SilentUnInstall silent – (삭제시 진행창을 보여주지 않고 설치해야할 경우 추가)


출처 : http://speedwagon.tistory.com/3

반응형

'언어 > NSIS' 카테고리의 다른 글

[NSIS] reference  (0) 2016.09.01
[NSIS] 프로세스 강제 종료  (0) 2016.09.01
[NSIS] 특정파일이 확인  (0) 2016.09.01
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함