■ Thinstall
Thinstall 프로그램을 이용하여 비교적 손쉬운 방법으로 단일화된 포터블 프로그램을 만드는 방법에 대해 알아보겠습니다.
사용된 Thinstall 버전은 v3.104 입니다.
포터블 가이드에 사용되는 프로그램은 Ashampoo_Magicalsnap v2.10_kor 입니다.
가상의 컴퓨터 환경에서 작업 하기위해 PowerShadow Master 란 프로그램을 사용하였습니다.
전에는 Sandboxie 를 자주 사용 해왔는데 요즘은 귀차니즘 때문에 비교적 사용이 간단한 PowerShadow Master 를 자주 이용 한답니다.
Thinstall 프로그램으로 시스템 환경을 캡쳐 하기전에 모든 바이러스 프로그램을 재워 둡니다.
또한 시스템 트레이의 상주 프로그램 또한 전부 재워 두어야겠죠.
가능한 시스템 환경이 비교적 깨끗한 상태에서 작업을 해야 에러율을 줄일수 있습니다.
레지스트리가 꼬여있고..시스템이 불안정한 상태에서 작업을 하게되면 성공 확률이 지극히 낮습니다
시스템 환경을 스냅샷으로 기록 중입니다.
시스템을 스캔후 레지스트리에 문제가 있다며 경고창이 뜨는군요..-_-
아마도 고스트로 복원 하면서 제 계정에 문제가 좀 있는거 같습니다.
중요한 문제는 아닌거 같아서 무시하고 "Continue" 를 클릭 합니다.
일차적인 시스템의 스냅샷 작업이 완료 되었습니다.
위의 창을 그대로 둔채 포터블로 만들고자 하는 프로그램(Ashampoo Magical Snap 2.10)을 인스톨 합니다.
Ashampoo Magical Snap 2.10.exe <- 설치 파일을 더블 클릭하여 설치를 진행 합니다.
프로그램(Ashampoo Magical Snap 2.10)의 설치가 진행 중입니다.
설치를 무사히 완료 합니다.
설치가 완료된후 프로그램의 키젠 또는 크랙을 이용하여 등록 등 필요한 절차를 진행해 줍니다.
등록 절차가 완료된후 프로그램을 실행하여 여러가지 설정을 해줍니다.
예를들어.. 프로그램을 시작할때 불 필요한 팝업창이 안뜨게 설정을 해준다던지..
프로그램의 옵션에서 필요한 세팅을 마무리 해준뒤 프로그램의 실행과 종료를 몇번 반복 해보면서 이상유무 를 체크 합니다.
세팅 작업 완료후 프로그램이 설치된 디렉터리를 찾아갑니다.
설치된 디렉터리에서 불 필요한 파일을 찾아 삭제를 해줍니다.
위의 그림은 Ashampoo Magical Snap 2.. 가 설치 폴더의 readme 파일 입니다.
readme 파일이 많은것은 각 나라의 언어별로 readme 파일이 있어서 입니다.
여하튼 readme 파일을 전부( unins000.exe, unins000.dat 포함) 삭제를 해줍니다.
또한 license 파일도 삭제를 해줍니다.
저는 영문 파일과 한글 파일만 위의 그림처럼 남겨 놓았습니다.
Help(도움말) 폴더도 삭제를 해주면 됩니다.
영어와 독어로 된 도움말 파일 이어서 필요 없을거 같아서 삭제를 했습니다.
이제 디렉터리 정리 작업은 어느정도 마무리 된거 같네요.
지금까지 작업 내용은 Thinstall 의 Captures 디렉터리의 Ashampoo Magical Snap 2 에 그대로 반영이 됩니다.
앞에서.. 종료 되지않고 외롭게 기다리고 있을 Setup Capture 에게 찾아갑니다.
변화된 시스템의 환경을 스캔 하기 시작 합니다.
앞에서와 같이 경고를 뱉어 내는군요..
무시하고 Continue 버튼을 클릭합니다..
스캔작업이 완료 되었으며.. 작업 결과물을 저장할 디렉터리의 경로를 보여 줍니다.
Save Results 를 클릭하여 저장을 해줍니다.
작업이 완료 되었군요.
Quit 버튼을 클릭하여 Setup Capture 창을 종료 합니다.
이제..
앞에서 저장한 작업 결과물이 있는 디렉터리를 찾아갑니다.
Thinstall 이 설치된 경로->Captures의 하위 디렉터리에 프로젝트 제목 으로 생성 되어 있습니다.
위의 그림처럼 Ashampoo Magical Snap 2.10 디렉터리 내의 불필요한 폴더는 삭제를 해줍니다.
위에서 체크한 빨간색 네모상자의 폴더 내용물은 거의 바로가기 아이콘 파일들이기 때문에 삭제를 해줘도 됩니다.
경우에 따라서 %Personal% 디렉터리를 삭제하면 안되는경우가 있습니다.
삭제하기전에 각 폴더를 열어서 중요한 파일이 없는지 확인을 해보시길..
위의 그림은 %Common Programs% 디렉터리를 열어본 모습 입니다.
별 중요한 파일이 보지않죠..삭제,
레지스트리 정보가 담겨있는 "HKEY_LOCAL_MACHINE.txt" 파일을 엽니다.
설치정보와 Uninstall 정보가 담겨있는 부분은 삭제를 해줍니다.
또한 시스템 트레이에서 종료시킨 프로그램이 제대로 종료가 되지않고 프로세스에 남아있는 경우가 있습니다.
이 경우 프로세스의 정보가 레지스트리에 기록되는경우가 있습니다.
또한 바이러스 프로그램의 업데이트 정보가 있는경우도 있으므로 자세하게 훓어보시고 삭제를 해주면 됩니다.HKEY_CURRENT_USER.txt 파일 또한 열어본뒤 살펴보시길...
Package.ini 파일을 실행 합니다.
본 글의 앞 부분에서 unins000.exe 파일을 삭제를 했습니다만.
이해를 돕기위해 unins000.exe 파일을 삭제하지 않은채 Ashampoo 의 스냅샷을 한번더 찍은 그림 입니다.
앞에서 설명한대로 unins000.exe 파일을 삭제를 하였다면 위의 그림처럼 Package.ini 파일에 Unins000.exe 의 정보가 나타나지 않겠죠..
여하튼 Package.ini 파일의 실행파일 소스 부분을 수정 해줍니다.
그림과 같이 수정, 삭제를 해줍니다.
그림과 같이 수정 해줍니다.
이미지 설명이 잘못되었네요.
위 그림의 두번째 Merged 로 수정 부분 에서 writeCopy 를 Merged 로 수정 해줍니다.
수정 완료된 모습 입니다.
Thinstall 로 컴파일된 실행 파일을 실행 하였을때 설정 파일의 생성 경로는 아래와 같습니다.
C:\Documents and Settings\USERNAME\Application Data\Thinstall\Sandbox\Ashampoo Magical Snap 2
위의 경로에 생성 되는 디렉터리 이름이 마음에 들지 않을경우
Thinstall 설치된 디렉터리->Captures->Ashampoo Magical Snap 2 를 사용자가 원하는대로 바꿔준 뒤
Package.ini 파일에서 수정 해주면 됩니다.
example=>Ashampoo Magical Snap 2 를 HongDol DpongDol 로 변경.
디렉터리명을 바꿔준뒤 Package.ini 에서 그림처럼 수정 해주면 됨,
이제 작업이 완료 되었으면 포터블 파일로의 출력을 위하여 build.bat 파일을 실행 합니다.
빌드중..
모든 작업이 완료 되었네요..
생성된 Bin 폴더의 단일 파일에 마지막으로 패치를 적용 해주면 포터블이 완성됩니다.
앞에서 설명한대로 Ashampoo Magical Snap 2 의 폴더명을 HongDol DpongDol 로 바꿨습니다.
C:\Documents and Settings\USERNAME\Application Data\Thinstall\Sandbox\HongDol DpongDol
폴더와 설정 파일이 생성이 됩니다.
위의 경로에 설정 파일이 생성이 되는게 싫으신 분들은 Thinstall 로 컴파일된 실행 파일옆에
위의 그림처럼 HongDol DpongDol 이라는 폴더를 만들어 놓으면 설정 파일이 이곳(HongDol DpongDol)에 담겨지게 되겠죠.
이미지가 많이 사용된 관계로 페이지의 로딩이 늦어지더라도 인내심을 가지고 보아 주셨으면 합니다.
참고로 ..
개인적으로는 Thinstall 3.049 (설치버전) , Thinstall 3.104(포터블) 두개의 프로그램을 병행하여 사용하고 있습니다.
Thinstall 3.104 버전 으로 컴파일된 프로그램은 실행,종료후 종료가 제대로 되지않고 프로세스에 남아있는 경우가
종종 있더군요..그래서 두개의 버전을 동시에 사용하고 있습니다(참고하시길)
Thinstall 은 비교적 사용법이 간단합니다.
허나 시스템 환경에 따른 에러율 또한 높은 편이기도 합니다.
단일 파일로 생성이 되기때문에 업데이트가 어려운 단점도 있고요.
업데이트된 파일로 다시 작업을 해줘도 다른 방법으로 포터블화 하는것 보다는 쉬워 보입니다.
우선 이 프로그램에서 권장하는 환경은 클린 상태의 PC입니다. 여기서 제가 말하는 클린 PC란 OS 외에는 아무것도 설치되지 않은 상태를 말합니다. 그래야 다른 PC에서 실행했을 때 발생할 수 있는 문제점을 줄일 수 있겠지요.
기본적인 개념은 프로그램을 설치하기 전의 환경을 캡쳐한 다음 프로그램을 설치하고, 변경된 사항을 추적해서 포터블 파일을 만드는 것입니다. 그런데 윈도우 레지스트리에 등록하는건 아니고 따로 설정파일을 만들어서 보관하기 때문에 윈도우 레지스트리는 깔끔하게 남는 것 같습니다. 혹시 제가 잘못 생각하고 있다면 댓글로 지적해주세요. 오늘 처음 써보는 프로그램인지라 ;;;
여기서는 네이버폰 설치를 예로 들어 그냥 Next 신공으로 진행해보겠습니다.
첫번째 화면은 그냥 가볍게 Next
여기서는 클린 PC에 대해서 설명하고 있습니다. 그냥 제가 위에서 설명드린 그 내용입니다. Next 누르시면 현재의 레지스트리 설정을 캡쳐하기 시작합니다.
앞선 과정에서 레지스트리 캡쳐가 끝났다면 이 화면이 나올텐데요, 이 창을 잠시 내려놓고 만들기 원하는 포터블 프로그램을 설치합니다. 설치를 마치시면 다시 이 화면으로 돌아와서 Next를 누릅니다. 그러면 설치후 상태를 설치전 상태와 비교하는 작업에 들어갑니다.
저는 네이버폰으로 진행했기 때문에 이렇게 나오는데 솔직히 이 부분은 뭔말인지 잘 모르겠지만... 그냥 만들고자 하는 메인 프로그램 한개만 선택해주시면 될 것 같습니다. 언인스톨이나 다른건 전부 무시하시고... 메인 프로그램만 선택해서 Next 눌러주세요.
사용권한 같은건 그냥 기본값 그대로 모든 유저들에게 허용하면 될 것 같고
아래쪽 샌드박스 위치는 아까 말씀드린대로 설정을 저장하는 곳인데 저는 그냥 기본 상태로 했습니다. 혹시 나중에 설정을 초기화 시키고 싶으시면 저 샌드박스 부분에 찾아가서 해당 프로그램의 설정파일을 지워주시면 됩니다.
예를 들어 저는 현재 XP에서 포터블 네이버폰을 실행했는데
C:\Documents and Settings\Administrator\Application Data\Thinstall\네이버폰
위 폴더에 설정 파일이 생성됩니다.
만약에 두번째 USB flash / portable media 선택하시면 포터블 프로그램이 실행되는 위치에 임시폴더도 같이 생성됩니다.
여기는 검천님의 말씀을 빌리자면 MS 오피스 같은건 첫번째 방식으로 하시면 될 것 같고 나머지는 웬만하면 두번째 방식으로 하셔도 될 것 같습니다.
작업을 저장할 폴더를 지정해주는 것인데 저는 그냥 기본값으로 넘겼습니다. 바탕화면에 하시는게 편하시면 바탕화면에 폴더 만들어서 지정하셔도 되구요.
아래쪽은 웬지 압축하면 용량이 줄어들 것 같아서 Fast compression 선택하고 Next
여기서 Build Now 누르시면 바로 컴파일 들어갑니다. 그런데 빌딩하기 전에 Browse Project 누르시면 아까 지정하신 작업폴더가 나오는데요 거기 보시면 Package.ini 파일이 있습니다. 이 파일을 수정하시면 좀 더 고급 옵션을 사용할 수 있습니다. 예를 들어
;RemoveSandboxOnExit=1
부분에서 앞에 세미콜론을 삭제해서 저 옵션을 활성화시켜 주신다면 매번 포터블 프로그램을 실행할 때 마다 설정이 초기화 되는 방식으로 만들어 지게 됩니다. 설정이 저장되지 않고 매번 초기화된다면 오히려 불편할 수도 있으니 잘 판단하시기 바랍니다.
Build Now 를 누르시면 최종 목표인 exe 파일이 만들어집니다. 잘 만들어졌는지 확인해보려면 우선 네이버폰을 제거하신 다음에 만들어진 포터블 프로그램을 실행해봐야겠지요. 실행파일은 작업 폴더 안에 BIN 폴더에 있습니다.
(추가1)
으뜸회오리님의 한글패치 & 노 팝업 버전 올려드립니다.
사용자 계정이 한글 이름이거나 이 프로그램 경로에 한글이 있으면 안 된답니다. (예를 들어 바탕 화면)
(추가2)
포터블 프로그램에 대해서 보다 많은 정보는 이 곳을 참조하시라네요.