티스토리 뷰



오늘은 앞서 소개 했던 7-zip("기업에서도 사용할 수 있는 압축 프로그램 7-Zip" 참조)을 좀 더 유용하게 사용하는 방법을 다루고자 합니다.


통상 압축 파일을 풀려면 해당 압축 파일을 풀수 있는 프로그램을 설치해야 하는데(WinRAR, 알집, 빵집, 반디집, 7-zip...), 이런 압축 프로그램을 설치하지 않은 사용자를 위해 사용할 수 있는 방법이 SFX(Self-Extracting Archives) 형태로 파일을 만들어 전달하는 것입니다. SFX는 실행 프로그램 형태이기 때문에 별도의 프로그램을 설치하지 않아도 프로그램을 실행만 하면 압축을 스스로 풀어 줍니다.


SFX 형태로 파일을 전달하는 것은 압축 파일 수신자의 프로그램 설치 수고를 덜어 주려는 의도도 있지만. *.7z, *.egg 처럼 프로그램 고유의 압축 파일 형태를 가진 경우에는 기존에 사용하는 있는 압축 프로그램이 있더라도 파일 호환성의 문제로 압축 파일을 해제할 수 없기 때문 입니다.



■ 7-zip SFX 만들기


SFX 파일을 제작하려면 먼저 압축 대상 파일이나 폴더를 선택하고 팝업메뉴에서 7-zip>압축파일에 추가..를 선택 합니다.




7-zip 대화창에서 옵션>자동(SFX) 압축파일 생성을 체크하고 "압축파일"의 파일명 확인후 확인을 클릭하면 스스로 압축을 해제할 수 있는 실행파일이 생성 됩니다.




[확인]을 눌러 압축 파일을 시작하면 다음과 같이 실행 파일을 생성합니다.



생성된 실행파일을 더블클릭해서 실행시키면 아래와 같은 화면을 통해서 스스로 압축을 해제할 수 있습니다.





■ 7-zip으로 Installer 제작하기


7-zip으로 스스로 압축을 해제하는 SFX파일을 만들었다면, 압축 해제 과정과 이후 작업을 스크립트를 통해 작업 지시를 내리는 Installer도 제작이 가능 합니다. 7-zip으로 Installer를 만드는 과정은 현재 버전에서는 제공하지 않고 있고 9.20 버전의 추가 파일에서 배포하고 있었습니다.


7z920_extra.7z


설치 프로그램을 제작하기 위한 과정은 아래와 같이 차례대로 수행합니다.


1. 작업 폴더를 만들고 위의 압축 파일을 풀어서 7zS.sfx 파일을 작업 폴더에 복사합니다.


2. 파일 압축하기

"압축 파일 형식"을 "7z", "압축레벨"은 "Ultra", "압축방식"은 "LZMA"로 해서 설치 파일에 포함될 파일들을 압축 합니다. 여기에는 압축해제후 자동 실행할 setup.exe와 같은 설치 프로그램 합니다. 본 포스팅에서는 테스트를 위해서 notepad.exe를 포함 시켰습니다.


예제에서는 DBLOG.7z파일을 생성했습니다. 생성한 압축 파일을 작업 폴더에 복사합니다.


3. 설정 파일(환경 파일) 생성

압축파일 해제후 수행해야 할 일들을 스크립트로 작성하는 작업입니다. 스크립트 작성 방법은 1번 작업의 복사시 사용하는 디렉토리인 7z920_extra\Installer\readme.txt를 참조하면 됩니다. 파일 복사, 프로그램 실행, 레지스트리 설정등 설치 프로그램들에서 수행하는 여러 작업을 스크립트로 지시 합니다.


;!@Install@!UTF-8!
Title="DBLOG v1.0"
BeginPrompt="Do you want to install DBLOG v1.0?"
RunProgram="notepad.exe dblog.csv"
;!@InstallEnd@!


위의 예제는 *.csv와 notepad.exe를 압축한 파일을 풀은 다음에 노트패드를 실행시켜서 *.csv 파일을 여는 설정 파일입니다. 설정 파일도 작업 폴더에 위치 시킵니다.


4. 설치 파일 생성

SFX 모듈, 압축파일과 설정 파일 준비가 끝났으면 아래와 같이 copy 명령어로 설치 프로그램을 생성합니다.


copy /b 7zS.sfx + installconfig.txt + dblog.7z dblogview.exe


앞서 작업 폴더에 준비한 3개의 파일을 +로 묶어서 최종 실행 파일을 생성합니다. 이 작업이 자주 있다면 배치 파일을 만들어서 작업을 자동화하는 것도 좋습니다.


5. 설치 테스트



위의 그림은 설치 프로그램을 실행한 첫 화면입니다.





[예]로 설치를 진행하면 스크립트에 입력한 대로 노트 패드를 열어 *.csv 파일을 엽니다. 실행이 끝나면 임시 파일들은 자동 삭제 합니다.


아이콘같은  윈도우 리소스 요소를 수정하려면 리소스 해커(Resource Hacker)를(http://www.angusj.com/resourcehacker/) 사용하면 손쉽게 아이콘 등을 변경할 수 있습니다.








댓글
댓글쓰기 폼