반응형
NSIS 경우 대용량 파일을 배포할 때 오류가 난다.
그 이유는 NSIS 자체가 2GB 이상 배포를 지원하지 않기 때문이다. 인스톨 쉴드 같은 경우 분할 패키지 파일로 배포를 할 수도 있지만 NSIS는 이 마저도 지원하지 않아 다른 방법으로 해결하여야 한다.
7zip(7z) 방식을 활용하는 방법인데, 7zip은 LZMA 방식으로 다른 압축 방법에 비해 압축 효율이 높다.
7z으로 압축된 파일을 풀기 위해선 nsis7z plug-in을 이용해야 한다.
https://nsis.sourceforge.io/Nsis7z_plug-in
위 링크에 들어가 Nsis7z을 다운 받고 nsis7z.dll 파일을 PC에 있는 [NSIS 폴더] > [plugin 폴더]에 넣어주면 된다.
사용법
Nsis7z::Extract "파일명"
Nsis7z::ExtractWithDetails "파일명" "Installing package %s..."
GetFunctionAddress $R9 CallbackTest
Nsis7z::ExtractWithCallback "Test.7z" $R9
- 압축을 풀 파일명을 적어줄 때는 `파일경로\파일명`을 같이 적어줘야 한다.
- 두번째 명령어는 설치 정도를 (현재 용량/전체 용량) %로 표시해 준다.
- 세번째 명령어 같은 경우 압축을 다 푼 후 지정한 콜백 함수를 호출하는 명령어이다.
반응형
'NSIS' 카테고리의 다른 글
NSIS 64bit 32bit인지 확인 (레지스트리 값 확인 활용) (0) | 2022.04.26 |
---|---|
NSIS 파일 존재 확인 / 레지스트리 값 존재 확인 (0) | 2022.04.26 |
NSIS 쉬운 문법 설명 (0) | 2022.04.26 |
NSIS 설치 및 HM NIS Edit 스크립트 마법사 사용하기 (0) | 2022.04.26 |
NSIS 개념과 NSIS 스크립트 (0) | 2021.12.30 |