본문 바로가기

자료/NSIS

[NSIS] 7z.exe 로 압축을 해제 하는 방법


NSIS: http://nsis.sourceforge.net/Main_Page 
7-Zip: http://www.7-zip.org/ 
NSIS 7zip 플러그인: 
http://nsis.sourceforge.net/Nsis7z_plug-in 

기본적으로 7z.exe는 7z파일이나 7z.001 파일의 압축을 해제할때 쓰입니다.

7z 파일은 NSIS에서 플러그인을 지원하기 때문에 쉽게 압축해제가 가능하나
7z.001 파일은 플러그인으로는 작동되지 않기에 7z.exe로 직접 명령해줘야 합니다.

7z.exe를 사용하기 위해선 우선 7z.dll이 같은 폴더에 있어야 합니다.
NSIS 패키지 배포시 함께 배포하거나 패키지 안에 포함시켜 두는게 좋습니다.

7z명령문은 아래와 같습니다.


nsExec::ExecToLog '"
7z.exe가 있는폴더\
7z.exe" x "압축해제할 파일 (7z과 7z.001만
가능합니다)
" "-o압축해제할폴더\" "-aoa"'





중간에 x 는 압축 해제. (extract의 첫발음이 x라서 x인거 같네요. 아마.) 
맨 끝에 -aoa 는 덮어 씌우기 입니다.
외에 다른 옵션도 적용 가능합니다.
그건 7zip의 도움말[?]을 이용해 찾아볼 수 있습니다. 

그건 그렇고 7z.002는 안됩니다.
7z.002는 어떤 압축프로그램으로 열든 빈파일이라고 뜨거든요.