출처: http://cafe.naver.com/usboffice/10663
※ 특별강좌 Quick Batch File Compiler 및 파일패커를 이용한 무설치 제작 방법
안녕하세요?? HM입니다. 이번 강좌에서는 QBC(Quick Batch File Compiler) 및 파일패커를 이용한 무설치 제작 방법을 여러분에게 최대한 알기 쉽게 설명해 드리려고 합니다. 강의를 따라하실때는 다른 프로그램(인터넷 포함) 이 실행되어 있으면 절대 안됩니다;; (TotalUninstall 이 설치되는 프로그램으로 착각합니다.)
[강의전 준비물~!]
1. TU (TotalUninstall 의 약어)
(스냅샷을 찍어서 설치된 레지스트리 & 파일등을 간단하게 찾아낼수 있는 프로그램)
2. 알집
(이번 강좌에서 예제로 출연할 프로그램....)
3. QBC(Quick Batch File Compiler)
(배치파일을 EXE 파일을 만들수 있는 프로그램 입니다.)
4. 파일 패커
(여러개의 파일을 단하나로 묶어주는 프로그램 입니다.)
5. IconWorkshop
(파일에 포함되어 있는 아이콘을 파일로 저장할수 있는 프로그램입니다.)
※이 5개의 프로그램은 게시물 하단에서 다운받을수 있습니다. TU는 다운받아서 설치해주시고 알집, QBC, 파일패커, IconWorkshop은 바탕화면에 다운 받아주시고 따라해 보시기 바랍니다.
[Part. 1 TU 로 설치된 레지, 파일 찾아내기]
다운받은 알집 설치 파일을 드래그하고 오른쪽 마우스 버튼을 누르면 "TotalUninstall에서 모니터링"이라는 버튼을 클릭해 주면 이와 비슷한 창이 나옵니다. 스냅샷을 찍기위해 "다음"을 눌러줍시다.
TU가 스냅샷을 찍는 장면입니다. 오래 걸리지 않으니 잠시만 기다려 줍시다.
(스크린샷으로 알아낼수 있지만 저같은 경우는 3초안에 끝났다는;;)
TU 가 스냅샷을 찍고나서의 장면입니다. 프로그램 이름은 건드려도 안건드려도 상관이 없습니다..
그럼 설치를 진행하기위해 "지금 설치 프로그램 실행"에 체크하고 "다음" 버튼을 클릭해 줍시다.
알집을 설치하기 위해 설치 프로그램이 실행됩니다. 자신이 원하는 기능을 알아서 설치하세요. (설치 하는 과정을 보여 주려면 사진수가 너무 많아서 메인 화면만 보여드립니다;;)
알집의 설치가 종료되고 나면 이렇게 알집의 환경 설정창이 나타납니다. 알집의 레지스트리를 설정하기위해 "모두 알집 기본설정으로" 버튼을 클릭하시고 확인을 누릅시다. 레지스트리를 더 정확하게 잡아 내려면 환경 설정을 끝낸 뒤에 한번더 알집을 실행해 주시면 더 좋습니다.
#여기서 잠깐~~! 레지스트리가 뭐에요?? : 레지스트리는 시스템의 정보, 프로그램의 설정등이 들어간 데이터 베이스를 말합니다.
그다음 TU로 돌아가서 "프로그램을 설치했습니다. 인스톨 스냅샷을 만든후 변경된 사항을 찾으십시오" 에 체크하고 다음으로 넘어가면 위와같이 변경사항을 체크합니다. 변경 사항 저장까지 완료 되면 "닫기" 버튼을 눌러 줍시다.
닫기 버튼을 누르니 TU가 찾아낸 변경사항 리스트가 위와 같이 보입니다. (링크 파일은 로그에서 삭제해 주거나 무시해 줍니다.) 이로서 설치된 파일과 레지를 찾아내는것은 끝입니다.
[설치된 레지 & 파일 알기쉽게 정리 해놓기]
우리가 원하는 음식을 쉽게 찾기위해 냉장고를 정리하는 것처럼 이번에 우리가 해볼일은 설치된 레지스트리와 파일들을 알기 쉽게 정리 해놓는 것입니다. 그럼 본론으로 들어가 보면 이번에 우리가 관심을 가져야 할 것은 바로
Programs Files 폴더에 ESTsoft 폴더가 생성되었죠?? 여기에는 프로그램의 실행 파일 이 들어가 있습니다. ESTsoft 폴더를 한번 클릭하고서 Ctrl + C로 복사 합니다. 그다음 우리는 바탕화면으로 가서 원하는 이름의 폴더를 하나 만듭니다. "예제 : 포터블 알집군" 이렇게~?? 뭐 바탕화면이 아니여도 되고 이름을 바꾸지 않아도 됩니다. 그냥 자신이 생각날 만한 위치에 만들으시면 됩니다. 하여튼 중요 한것은 지금만든 이 폴더를 "메인폴더"라고 기억해 주세요.
자 그럼 방금만든 메인폴더를 열어서 방금전에 복사한 ESTsoft 폴더를 Ctrl + V로 복사 합니다. 그리고 폴더의 이름을 "Data"로 바꿔줍니다. 앞으로는 실행파일이 있는 폴더는 메인폴더에 넣고 Data로 알기 쉽게 해놓으시면 좋습니다. 그리고 폴더를 하나 만들어 봅시다. 폴더의 이름은 Setting 우리 말로 설정이라는 뜻입니다. 즉 이 폴더에는 프로그램의 설정을 저장해 둘것입니다. 다음으로 우리가 관심을 가져야 할것은
Application Data 폴더안에 ESTsoft 폴더가 생성됬군요.
폴더명이 알집의 회사이름인 ESTsoft 인것으로 봐서는 알집과 관련된 데이터가 있을겁니다. 스크린샷에는 나오지 않았지만 ESTsoft 폴더안에 ALZip 이라는 폴더가 있습니다. 한번 클릭하고 Ctrl + C로 복사하세요.
잠깐~~! Application Data 가 뭐예요?? : Application Data 폴더는 응용프로그램의 제어 정보와 사용자의 정보를 저장해 두는 폴더를 말합니다.
그다음 방금만든 메인폴더Setting 폴더로 가서 Application Data 라는 폴더를 만듭니다. 그리고 안으로 들어가서 Ctrl + V 로 방금 복사한 AlZip 폴더를 붙여넣기 합니다.
이제
그리고 이번엔 TU로 레지스트리를 정리하는 방법을 알려드리겠습니다. TU에서 "파일 - 내보내기 - 레지스트리 변경 항목"을 클릭하세요.
그럼 이와 같은 창이 나타납니다. "내보내기 형식" 그룹에 있는 "설치 파일"에 체크하세요. 그리고 가장 중요한 것을 알려드리겠습니다. "레지스트리 변경" 그룹 에 있는 "삭제된 키", "삭제된 값"에 체크 해제를 해야합니다. 그래야 레지스트리를 등록할때 문제없이 지나갈수 있습니다. 다 되었으면 "확인" 버튼을 누르고 다음 설명을 봐주세요.
스크린샷에 나온대로 메인폴더Setting에 Registry 폴더를 하나 만듭니다. 그리고 거기에 Set 이라는 이름으로 저장을 해주세요. Set 은 Setup 의 약어 입니다. (벌써 다음에 뭐가 나올지 예측중인 분들이 존재할지도;;;)
방금 전과 같이 TU에서 "파일 - 내보내기 - 레지스트리 변경 항목" 을 클릭해서 이번엔 "설치 파일"이 아닌 "언인스톨 파일"을 만들어 봅시다.
"삭제된 키"와 "삭제된 값"에 체크 해제 해주시는거 잊으시면 안됩니다.
그리고 확인을 눌러주세요.
위의 사진과 같이 메인폴더SettingRegistry 폴더에 Del 이라는 이름으로 저장합시다..
그럼 레지 & 파일 정리는 끝난것입니다. 이제 가장 어려운(?) QBC를 이용한 EXE 파일 만들기가 기다리고 있군요.
[Quick Batch File Compiler 로 EXE 파일 만들기]
이번에는 Quick Batch File Compiler 로 이 강좌의 핵심이 되는 EXE 파일을 만들어 볼것입니다. 이번에 사용하는 명령어는 도스 명령어 입니다. 배치파일 만들듯이 만들면 됩니다.
우선 다운 받아놓은 QBC 를 실행시켜 봅시다~ 그리고서 설정을 해주기 위해서 Options 를 클릭합시다.
위의 스크린샷에 나온것처럼 "Ghost Application"에 체크해 줍시다. 그러면 EXE 파일이 실행시 도스창을 표시하지 않습니다. 그리고 Ok를 눌러서 세팅을 마칩니다.
그리고 잠시 배우고 넘어가야 할것을 알려드리겠습니다.
환경변수란??
환경변수는 변경할 수 있는 데이타 혹은 나중에 프로그램내에서 다시 참조하기를 원하는 데이타를 저장하기 위한 장소를 변수로 요약해 놓은것입니다. 아래에 있는것은 우리에게 자주 쓰일 환경변수 입니다.
더 많은 환경변수를 보시려면 명령 프롬프트에서 "set"라고 입력해 보시면 나옵니다.
%ProgramFiles% = C:\Program Files
%USERPROFILE% = C:\Documents and Settings\사용자 이름
%Windir% = C:\WINDOWS
%APPDATA% = C:\Documents and Settings\사용자 이름\Application Data
%ALLUSERSPROFILE% = C:\Documents and Settings\All Users
%CommonProgramFiles% = C:\Program Files\Common Files
이제 환경변수도 이해 하셨다면 QBC 안에 넣을 명령어를 설명해 드리겠습니다.
regedit /s .\Setting\Registry\Set.reg
EXE 파일이 실행되는 하위폴더인 Setting\Registry에 있는 Set.reg 를 메세지 없이 등록하라는 뜻입니다.
xcopy .\Setting\Application Data\Alzip %Appdata%\Alzip
EXE 파일이 실행되는 하위 폴더인 Setting\Application Data Alzip 폴더를 %Appdata%\Alzip로 복사 하라는 뜻입니다.
copy .\Setting\System32\ALZALZ.BIN %Windir%\System32\ALZALZ.BIN
EXE 파일이 실행되는 하위 폴더인 Setting\System32의 ALZALZ.BIN 파일을
%Windir%\System32 에 ALZALZ.BIN 이란 이름으로 복사 하라는 뜻입니다.
copy .\Setting\System32\ALZZip.BIN %Windir%\System32\ALZZip.BIN
EXE 파일 실행되는 하위 폴더인 Setting\System32\ALZZip.BIN 파일을
%Windir%\System32에 ALZZip.BIN이란 이름으로 저장하라는 뜻입니다.
Start /Wait Data\ALZip\ALZip.exe
DataALZip 폴더의 ALZip.exe 파일을 실행 하고 종료될때까지 기다리라는 뜻입니다.
xcopy %Appdata%\Alzip .\Setting\Application Data\Alzip
%Appdata% 폴더의 Alzip 폴더를 EXE 파일이 실행되는 하위 폴더인 Setting\Application Data 폴더안에 Alzip 폴더에 복사하라는 뜻입니다. 간단하게 말하자면 프로그램의 설정을 저장하는 과정 입니다.
copy %Windir%\System32\ALZALZ.BIN .\Setting\System32\ALZALZ.BIN
%Windir%\System32폴더의 ALZALZ.BIN 파일을 Setting\System32 폴더의 ALZALZ.BIN
이란 이름으로 복사하라는 뜻입니다.
copy %Windir%\System32\ALZZip.BIN .\Setting\System32\ALZZip.BIN
%Windir%\System32 폴더의 ALZZip.BIN 파일을 Setting\System32 폴더의 ALZZip.BIN
이란 이름으로 복사하라는 뜻입니다.
regedit /s \Setting\Registry\Del.reg
Setting\Registry폴더의 Del.reg 파일을 메세지 없이 등록하라는 뜻입니다.
쉬어가기~~ 컴파일이 뭐에요?? : 컴파일은 프로그램 언어로 쓰여진 프로그램을 컴퓨터가 실행할수 있는 기계어 프로그램으로 고쳐주는 과정입니다. 이러한 일은 QBC 같은 컴파일러가 할수 있습니다.
쉬어가기~~ 컴파일러가 뭐에요?? : 옛날에는 기계어라는 것으로 프로그램을 만들었습니다.
하지만 너무 어려워서 사용하기 어려웠습니다. 그래서 우리가 이해할수 있는 언어로 간단하게 기계어를 사용하지 않고도 사용할수 있게 하는 언어를 제작했습니다. (QBC, 비주얼 베이직등등) 그렇지만 컴퓨터에서 사용할려면 기계어로 번역을 해야 하는데 이와 같은 일을 하는것이 컴파일러 입니다.
그럼 QBC안에 우리가 넣어야할 명령어는 모두 넣었으니 이제 Custom Resources 창을 선택해서 컴파일 옵션을 넣어 봅시다~~
File Description 에는 파일에 대한 추가 설명을 넣어주시면 됩니다. 그러면 나중에 파일 밑에 나타 납니다.
Version Info 에는 말그대로 프로그램의 버전을 적으면 됩니다. 저는 수정할 때마다 1씩 늘려간다는...
Company Name 는 원래 만든 회사 이름을 적지만 요즘은 프로그램 저작권을 가진 사람의 이름이나 가명을 주로 넣습니다. (넣지 않아도 아무런 문제 없습니다~~)
Application Icon에는 EXE 파일의 아이콘이 될 아이콘파일을 지정해줘야 되는데 아직 우리는 알집의 아이콘 추출을 하지 않았군요;; 다음 단계로 넘어 갑시다.
[알집 프로그램의 아이콘 추출하기]
우선 다운 받아 놓은 IconWorkshop을 실행 합니다. 그러면 위와 같은 창이 나타납니다. 우선 EXE 파일을 열어서 아이콘 파일을 추출해내기 위해서 File - Open 을 클릭합니다.
방금전에 만들었던 메인폴더의 Data 폴더로 가서 알집의 실행파일인 ALZip.exe 파일을 선택한뒤에 "열기(O)" 버튼을 클릭합니다.
ALZip.exe 안에 포함되어 있던 수많은 ico 파일들이 한눈에 보여집니다. 이중에서 자신이 원하는 아이콘 파일을 선택합니다. (저는 사람들이 알집인줄 바로 알게 하기 위해 기본 아이콘을 선택했습니다.)
아이콘을 선택하면 위와 같이 나옵니다. 아이콘 파일을 저장하기 위해서 File - Save as 를 클릭해서 바탕화면에 icon1 이라는 이름으로 저장합니다.
그리고나서 바탕화면에 저장한 icon1을 다시 열어서 32x32 256 아이콘을 제외한 나머지 아이콘들은 버튼을 클릭해서 삭제하세요. 그리고 File - Save as 를 클릭해서 바탕화면에 icon2 라는 이름으로 저장을 합니다.
다시 QBC로 돌아가서 방금전에 제작한 icon1을 Application Icon에서 지정해 줍시다.
그다음 "Build" 버튼을 클릭해서 프로그램을 컴파일 합니다. 저장은 메인폴더에 지정해 주시면 됩니다.
[파일 패커를 사용해 단일 파일로 만들자~!]
위에서 했던 QBC 작업으로 무설치 제작은 완벽하게 끝냈지만 그것을 단일 파일로 만들으면용량도 줄이고 파일의 간편성을 올릴수 있습니다. 단일파일은 파일패커라는 프로그램으로 제작할 것입니다. 다운 받아놓은 파일패커를 실행해 주세요.
파일 패커를 정상적으로 실행하셨다면 위와 같이 창이 하나 뜰것입니다. "다음" 버튼을 눌러서
다음으로 넘어갑시다.
프로젝트명은 아무거나 입력하시거나 그냥 내버려 둬도 아무런 지장 없습니다.
나중에 사용할 일은 거의 없으니 괜찮습니다.
여기서는 우리가 만든 메인 폴더를 지정해야 합니다. 찾기 버튼을 눌러서 지난번에 만들었던 메인폴더를 지정해 주시고 "확인" 버튼을 눌러 주세요.
메인 폴더를 지정하고 다음 버튼을 누르니 위와 비슷한 창이 뜨실겁니다. 여기서는 압축이 풀리고 나서 실행될 파일을 선택 하는것입니다. 우리가 만든 EXE 파일을 선택해주고 "다음" 버튼을 클릭해 주세요.
스크린샷에 나온것처럼 "호출된 실행파일을 종료하면 파일을 모두 삭제"에 체크해 주세요.
말그대로 프로그램이 실행되고 압축이 풀린 파일들이 삭제되는 것입니다. 그리고 압축 레벨은
자신이 알아서 설정해 주세요 ^^;; 너무 많이 올리면 압축률은 높아지지만 압축이 풀리는 속도는 느려집니다;; (저는 그냥 BEST로 설정했다는 @ㅁ@!!)
이번에는 아주 중요한 단계입니다. 잘 따라하세요 ^^;; (여기서 실수하면 단일파일은 다시 만들어야 합니다.) 우선 첫번째 칸에는 "찾아보기"버튼을 눌러서 압축이 풀릴 위치를 설정해 주세요.
저는 Temp 를 추천합니다. 그리고 두번째 칸에는 방금전에 만들었던 icon2를 설정합니다.
파일패커는 EXE파일의 아이콘을 32X32X 256 색으로 밖에 지정 불가능 합니다. 그리고 세번째 칸에는 단일파일이 저장될 위치와 이름을 "찾아보기"로 선택해 주세요.
압축이 끝나고 단일 파일이 완성된 사진입니다. 이 창이 보이면 문제없이 성공했다는 것입니다. 취소를 눌러서 파일 패커를 종료 합니다. "Would you like to save your project?" 이라는
메세지 창이 뜨면 아니요를 눌러주세요. (한마디로 우리가한 과정을 저장한 프로젝트를 저장하겠냐는 뜻입니다.)
[프로그램 테스트]
우리가 만든 무설치 파일이 오류없이 실행되나 한번 실행해 보는 과정입니다. 아래에서 하나라도 포함이 되시는것이 있으시다면 그것을 참고하세요.
-----------------------------------------------------------------------------
1. 만약 압축 풀기 문제가 발생되면 단일 파일 만드는 과정을 잘못한것입니다.
2. 만약 명령어 문제가 발생되면 EXE 파일이 잘못 만들어진 것이므로 QBC 명령어에 문제가었나 확인해보시고 수정하시면 됩니다.
3. 만약 알집 자체에서 문제가 발생되면 파일 캡처를 잘못한 것이나 명령어를 잘못넣은것입니다.
이경우는 오류창은 뜨는데 프로그램이 잘돌아가면 그냥 남겨도 되지만 되도록 처음부터 다시 해보시는것을 추천합니다.
-----------------------------------------------------------------------------
프로그램이 문제없이 실행되시는 분들은 제 강좌를 완벽하게 머리속에 넣으신 분입니다.
그 분들에게 제 강좌를 열심히 읽어주셔서 감사하다고 전해드리고 싶군요 @ㅂ@;;
이 강좌를 따라하면서 배우신것들을 응용해서 알집이 아니라 다른 프로그램도 무설치로
제작해보시고 여러 회원들과 공유하신다면 제가 강좌를 쓴 목적은 달성한 겁니다 ~~ ☆
열심히 읽어 주셔서 감사합니다~~
- QBC 강좌 끝 -