NSIS 경우 대용량 파일을 배포할 때 오류가 난다. 그 이유는 NSIS 자체가 2GB 이상 배포를 지원하지 않기 때문이다. 인스톨 쉴드 같은 경우 분할 패키지 파일로 배포를 할 수도 있지만 NSIS는 이 마저도 지원하지 않아 다른 방법으로 해결하여야 한다. 7zip(7z) 방식을 활용하는 방법인데, 7zip은 LZMA 방식으로 다른 압축 방법에 비해 압축 효율이 높다. 7z으로 압축된 파일을 풀기 위해선 nsis7z plug-in을 이용해야 한다. https://nsis.sourceforge.io/Nsis7z_plug-in Nsis7z plug-in - NSIS Download Nsis7z_19.00.7z (450 KB) 7-Zip 19.00; x86 + x64; ANSI + Unicode Nsis7z..
ReadRegStr $0 HKLM "SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion" "ProgramFilesDir" ${If} $0 == '' 32비트일 때 실행할 명령어 입력 ${Else} 64비트일 때 실행할 명령어 입력 ${EndIf} 참고) https://yeo-computerclass.tistory.com/152 [NSIS] 파일 존재 확인 / 레지스트리 값 존재 확인 파일 존재 확인 IIfFileExists "$INSTDIR\AstelliaClient" Yes No Yes: NO: 레지스트리 값 존재 확인 ReadRegstr $0 "레지스트리 경로" "레지스트리 이름" $0에 해당 레지스트리 경로, 이름의 값이 저장되고 만약.. yeo-comp..
파일 존재 확인 IIfFileExists "$INSTDIR\AstelliaClient" Yes No Yes: NO: 레지스트리 값 존재 확인 ReadRegstr $0 "레지스트리 경로" "레지스트리 이름" $0에 해당 레지스트리 경로, 이름의 값이 저장되고 만약 존재하지 않다면 빈 값이 저장된다.
HM NIS Edit으로 설정한 것들 ;HM NIS Edit Wizard helper defines !define PRODUCT_NAME "PRODUCT 명" !define PRODUCT_VERSION "버전" !define PRODUCT_PUBLISHER "회사이름, Inc." !define PRODUCT_DIR_REGKEY "Software\Microsoft" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" SetCompressor lzma ;압축 방법 (EX. lzma: 7z) NSIS의 주석은 ;(세미콜론..
NSIS 설치 https://nsis.sourceforge.io/Download 해당 링크로 접속하여NSIS 다운로드 및 설치 스크립트 마법사 설치: HM NIS Edit 😁 `HM NIS Edit`는 NSIS을 이용하여 설치 파일을 만들 때 보다 편리하게 해주는 TOOL입니다. HM NIS Edit 프로그램 다운로드 및 설치하기 http://hmne.sourceforge.net/ 해당 링크로 접속 후 빨간 박스를 클릭하여 다운로드 중간에 아래 와 같은 에러 박스가 뜬다면 [무시] 버튼을 클릭하고 설치를 이어 한다. HM NIS Edit 사용법 [HM NIS Edit] 실행 시켜주고 [스크립트 작성 마법사]를 클릭해준다. 설치 옵션을 선택해준다. `설치 아이콘`: ${NSISDIR}\Contrib\Gra..
NSIS (Nullsoft scriptable Install System) 인스톨러는 파일을 복사하거나 업데이트하며 레지스트리 키를 쓰고, 설정을 구성하고, 바로가기를 생성한다. 이러한 작업들은 사용자 편의를 위해 자동으로 수행해준다. NSIS는 이런 인스톨러를 구축할 수 있도록 도와주는 제작 도구이다. NSIS는 파일 복사 등 같은 기본 작업부터 레지스트리 키 등록 작업, 환경 변수 설정, 최신 파일 다운로드, 구성 파일 수정 등과 같은 복잡한 작업까지 지원한다. NSIS는 스크립트 언어 기반이며 외부 플러그인도 지원하기 때문에 많은 기능을 제공하고 모든 파일과 설치 스크립트를 하나의 실행 파일로 컴파일하여 배포할 수 있다. 이런 다양한 옵션을 제공함에도 작은 오버헤드 크기를 갖는다. ※위에서 간략하게..