블로그 이미지
Terapi

calendar

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Thinstall 을 이용해서 포터블 프로그램 만들기

안녕하세요.
Thinstall 프로그램을 이용하여 비교적 손쉬운 방법으로 단일화된 포터블 프로그램을 만드는 방법에 대해 알아보겠습니다.
사용된 Thinstall 버전은 v3.104 입니다.
포터블 가이드에 사용되는 프로그램은 Ashampoo_Magicalsnap v2.10_kor 입니다.

가상의 컴퓨터 환경에서 작업 하기위해 PowerShadow Master 란 프로그램을 사용하였습니다.
전에는 Sandboxie 를 자주 사용 해왔는데 요즘은 귀차니즘 때문에 비교적 사용이 간단한 PowerShadow Master 를 자주 이용 한답니다.

Thinstall 프로그램으로 시스템 환경을 캡쳐 하기전에 모든 바이러스 프로그램을 재워 둡니다.
또한 시스템 트레이의 상주 프로그램 또한 전부 재워 두어야겠죠..
가능한.. 시스템 환경이 비교적 깨끗한 상태에서 작업을 해야 에러율을 줄일수 있습니다.
레지스트리가 꼬여있고..시스템이 불안정한 상태에서 작업을 하게되면 성공 확률이 지극히 낮습니다

참고하시길..

이제 시작 합니다..
Thinstall.v3.104 의 "Setup Capture" 를 클릭하여 프로그램을 시작 합니다.
Start 버튼을 클릭합니다.

시스템 환경을 스캔후 스냅샷 으로 저장하게될 드라이버 선택 창입니다.
기본값 C:드라이버에 체크가 되어있습니다.
효율적인 스캔을 위해 윈도우 시스템 파일이 있는 드라이버인 c:에만 체크 합니다.
또한.. 레지스트리 스캔의 네모상자에 체크가 되어있습니다.
눈도장만 찍고  "Pre-Install Scan" 버튼을 클릭합니다.

시스템 환경을 스냅샷으로 기록 중입니다.

시스템을 스캔후 레지스트리에 문제가 있다며 경고창이 뜨는군요..-_-
아마도 고스트로 복원 하면서 제 계정에 문제가 좀 있는거 같습니다.
중요한 문제는 아닌거 같아서 무시하고 "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 파일도 삭제를 해줍니다.
언어 파일이 들어있는 "lang" 폴더를 연뒤 영문 언어 파일과 한글 언어 파일을 제외한 나머지 파일은 전부 삭제를 해줍니다.
필요할 경우 영문 파일도 삭제를 해줘도 무방 합니다.
저는 영문 파일과 한글 파일만 위의 그림처럼 남겨 놓았습니다.
Help(도움말) 폴더도 삭제를 해주면 됩니다.
영어와 독어로 된 도움말 파일 이어서 필요 없을거 같아서 삭제를 했습니다.
이제 디렉터리 정리 작업은 어느정도 마무리 된거 같네요..

지금까지 작업 내용은 Thinstall 의 Captures 디렉터리의 Ashampoo Magical Snap 2 에 그대로 반영이 됩니다.
앞에서.. 종료 되지않고 외롭게 기다리고 있을 Setup Capture 에게 찾아갑니다.

프로그램이 설치된후의 시스템 환경을 캡쳐하기 위해 Setup Capture 창의  "Post-Install Scan" 버튼을 클릭 합니다.
변화된 시스템의 환경을 스캔 하기 시작 합니다.
앞에서와 같이 경고를 뱉어 내는군요..
무시하고 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\\ThinstallSandboxAshampoo 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 은 비교적 사용법이 간단합니다.
허나 시스템 환경에 따른 에러율 또한 높은 편이기도 합니다..

단일 파일로 생성이 되기때문에 업데이트가 어려운 단점도 있고요..
업데이트된 파일로 다시 작업을 해줘도 다른 방법으로 포터블화 하는것 보다는 쉬워 보입니다.

장단점이 다 있으니..

안녕하세요..
오늘은 Thinstall 2.5 버전<- 요놈으로 간단하게 포터블 프로그램을 만드는 방법을 소개 하고자 합니다.
해외의 유저 한분이 "Thinstall v2.521 Unpacked"를 배포하셨는데..

제가 다시 포터블화 해서 사용중입니다^^

저도 Thinstall 2.5 의 많은 기능을 다 알지 못합니다..
단순히 특정 프로그램(Orbit Downloader)을 컴파일 하는 가이드라인만  제시 하고자 합니다.
나머지 기능은 Thinstall 을 사용하고자 하는 분들의 몫입니다.

시작 합니다..

Orbit Downloader 1.5.2 프로그램으로 작업을 해보겠습니다.
Orbit Downloader 1.5.2.exe 설치 프로그램을 더블클릭하여 프로그램을 설치 합니다.
Orbit Downloader 는 프리웨어 이므로 프로그램을 설치할때 레지스트리 감시및 모니터링

프로그램을 기동할 필요가 없습니다.
시스템파일도 건들지 않고... 부담없이 설치를 마쳐주면 됩니다.

1.설치시 경로를 변경하지 않았다면 c:\\program file\\Orbitdownloader
위의 경로대로 Orbit Downloader 폴더가 생성이 되어 있을 겁니다.
Orbitdownloader 디렉터리의 쓸모없는 파일 unins000.dat , unins000.exe 을 삭제 해줍니다.
또한 language 폴더의 "obkor.ini"(한글 랭귀지) 를 제외한 언어 파일은 전부 삭제를 해주셔도 됩니다.

2.이제 Thinstall v2.521 Unpacked 프로그램을 실행 합니다.
3.별 중요하지않은 라이센스 창입니다.. Agree 를 클릭합니다.
4.Connect 버튼을 클릭합니다.
오른쪽의 Settings 에서 프로그램의 프록시 세팅을 할수있습니다.(기본값으로 둡니다)
5.앞에서 설치한 Orbitdownloader 디렉터리를 선택해주기 위해 Browse 버튼을 클릭합니다.
6.파일 탐색창에서 Orbitdownloader 폴더를 선택합니다.(c:\\program file\\Orbitdownloader )
7.Path 에 앞에서 지정한 c:\\program file\\Orbitdownloader 가 선택 되어져 있는걸 볼수 있습니다.
Next 버튼을 클릭합니다.
8.Orbitdownloader 디렉터리의 실행파일 선택창이 뜹니다.
확장자가 exe 파일은 모두 보여집니다.

*.exe 파일 목록 에서 Orbitdownloader 의 실행 화일인 "orbitdm.exe" 를 선택한뒤
하단의 Start With this EXE File 버튼을 클릭합니다.
9.ok버튼클릭.
10.또 귀찮게 합니다.. Close 버튼 클릭.
11.이제 Orbitdownloader 디렉터리에서 가져온 파일 목록을 Thinstall  에서 정렬하여 보여줍니다.
모든 파일을  %....% 로 감싼 모습이 보입니다.

아래의 내용을 복사합니다.
install:install_window_title   "Install options for %s"
install:install_copy_status      "Copying %s"
install:create_file_error      "Could not create file:n%s"
runtime:missing_module      "Couldn't find library %snPlease ensure that it is installed"
runtime:missing_import      "Library %s is linked to missing functionn%s:%s"
:LANGUAGE "0x12"
install:install_window_title   "This string will override the default when the user is Korean "
12.복사한 내용을 메모장에 붙여넣기 한뒤 적당한 디렉터리에 저장을 합니다.
메모장을 저장할때 파일 이름을 "Korean.config" 로 바꿔 줍니다

(파일 이름은 "Korean" ,확장자는 "config")
또한 인코딩방식 에서 "유니코드" 를 선택, 저장을 해주면 됩니다.
13.포터블화될 프로그램의 아이콘 추출을 위해 상단의 Link->Resource Options->Program Icon
을 클릭합니다.

14.Browse 버튼을 클릭합니다.
15.c:\\program file\\Orbitdownloader\\orbitdm.exe  를 선택합니다.
실행 화일의 아이콘 추출은 orbitdm.exe 화일이 아닌 모든 *.exe 화일에서 추출이 가능합니다.
더 예쁘게 보이는 *.exe 화일을 지정 해줘도 되겠죠..

파일 선택후 ok 를 클릭합니다.

16.프로그램 실행시 특정 프로그램에서 한국어를 인식하지 못해 발생하는 런 타임 에러를 방지 하기위해 11번 글에서 만들어둔 "Korean.config" 파일을 찾아서 지정을 해줍니다.

17."Korean.config" 파일을 찾아서 선택을 해준뒤 ok 를 클릭합니다.

18.프로그램 실행시 로딩되는 스플래시 화면을 보여주고 싶다면 Splash Screen 을 클릭 합니다.

19.Browse 버튼을 클릭하여 스플래시 화면에 보여질 이미지 파일을 선택해줍니다(Bitmap 만 가능)
아래의 3000은 Splash Screen 이 보여지는 시간 입니다.(기본값이 3000(3초)입니다)
너무 길게 로딩되면 보는 사람이 짜증이 날수도 있습니다(2000(2초)정도가 적당 하겠네요..)

Net framework 가 포함되어 있을경우 맞는 버전대에 체크를 해주면 됩니다.
(실행시 Net framework  체크 여부를 설정 할수도 있습니다)

21.Thinstall 프로그램으로 컴파일을 완료했을때 프로그램을 실행하면 위의 그림처럼
숨김 속성의 캐시 파일(확장자 *.ths)이 생성이 되는경우가 자주 있습니다.
지저분 해지고 눈에 거슬릴수 있습니다.
Virtual Files->Set Cache Directory 를 클릭합니다.

22.기본값은 %InstallPath% 로 되어 있습니다.
%TEMP% 로 수정을 해주면 숨김 속성의 캐시 파일(확장자 *.ths)이 생성이 되더라도
TEMP 폴더에 생겨나기 때문에 거슬리지 않겠죠..

= 프리웨어가 아닌 라이센스가 필요한 상용 프로그램일경우 레지스트리 등록이 필요하겠죠..
라이센스가 담긴 레지스트리 파일이 있을경우 레지스트리 등록을 위해

Virtual Files->Import REGEDIT .reg script 를 클릭하여 레지스트리
파일을 불러오면 됩니다.(Thinstall 에서 레지스트리에 자동으로 스크립트를 적용하여 줍니다)

23.웬만한 작업은 완료된거 같네요..(별로 한것도 없지만^^)
프로젝트 완성을 위해 Build! 를 클릭합니다.

24.작업이 진행중인 모습을 볼수 있습니다(파일의 사이즈가 작을 수록 신속하게 완료 됩니다)

25.빌드가 완료 되었다는 메세지가 뜹니다.
또한 하단의 Error Messages 창에서 에러메세지가 없는걸로 보아 무사히 빌드가 완료된거 같네요..
Run/Test 버튼을 클릭하여 테스트를 해봅니다.

26.테스트후 에러없이 무사히 작업이 완료된게 확인 되었을경우 Thinstall 프로그램을 종료하고 Orbitdownloader 디렉터리를 찾아갑니다.
(c:\\program file\\Orbitdownloader)
Orbitdownloader 디렉터리에 "output" 라는 폴더가 생성이 된게 보입니다.
지금까지 Thinstall 에서 작업한 결과물이 "output" 폴더에 모셔져 있습니다.

27.output 폴더안에 "orbitdm.exe"  가 생성된걸 볼수 있습니다.
파일의 제목을 알아보기 쉽게 "Portable Orbit Downloader 1.5.2.exe" 수정을 해준뒤
적당한 디렉터리에 모셔주면 됩니다.

마지막으로 제어판의 '프로그램추가제거' 에서  Orbit Downloader 를 삭제한뒤
앞에서 작업한 "Portable Orbit Downloader 1.5.2.exe" 가 잘 실행 되는지 확인 해보면 됩니다.

비교적 간단하게 만들었지만 에러율도 상당히 높습니다.
Thinstall v2.521 에서 작업했을때 성공율은 50% 정도 되더군요..

본 글을 응용하여 자신의 기호에맞게 더 멋있는 포터블을 만드는데 조그만 보탬이 되길 바랍니다.
(저는 당췌 머리가 나빠서리..)
"Thinstall v2.521 Unpacked" 는 블로그에 이미지가 많이 사용되면서 파일업로더
한계 초과로 인해 올라가지 않는군요.
원하시는 분이 있으면 곧 올려드리도록 하지요..

+주의 하실점은 컴파일 하려는 디렉터리명이 한글 이면 안됩니다.
영문으로 수정 해주셔야 됩니다.

사족+

현재 Thinstall 의 가장 상위 버전이 3049 입니다
물론 크랙도 보유하고 있습니다만..
이 버전은 아직 크랙이 완전치 않으며 컴파일시 에러가 많이 발생합니다.
덩어리가 무지하게 큰 오피스2007한글 버전을 Thinstall v3049 버전으로 컴파일 해보려다

죽는줄 알았습니다.

설치,삭제를 열번은 했을겁니다^^

영문은 잘 되는데 한글판은 꼭 에러가 발생하더군요..

현재 Thinstall 프로그램의 크래킹 기법등을 mikicun 이라는 유저가 간간히 발표하고 있습니다만..
이양반이 지식나눔 에 좀 인색한 편입니다. 자부심도 대단하고요..(그럴만도 하지요)

한때 닉네임이 "스티키잇"(?) 인가 영문 이니셜이 기억이 잘 나지않습니다만.(터키인)
mikicun 과 막상막하 였는데..

요즘은 잠수 모드여서 근황을 알수가 없다는게 아쉽네요..

= Sandboxie 프로그램 아시죠..
Thinstall 3x 버전 에는 Sandboxie 가 탑재 되어있습니다.
즉, VMware 처럼 가상으로 프로그램을 구동시키는 겁니다.

프로그램의 자세한 정보는=>
http://blog.naver.com/rla39988/120033470784

홈페이지=>http://www.orbitdownloader.com/

한글화는 " pCsOrl " 님이 고생하셨네요..

자료출처 :
http://leemulak.springnote.com/pages/446056
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'Portable USB > Portable USB 실행하기' 카테고리의 다른 글

Thinstall 을 이용해서 포터블 프로그램 만들기  (0) 2008.06.03
Thinstall 을 이용한 포터블 가이드  (0) 2008.06.03
thinstall  (0) 2008.06.02
포터블 선정시 유의 사항  (0) 2008.06.02
Thistall  (1) 2008.06.02
무설치 프로그램 만들기  (0) 2008.06.01
posted by Terapi

Thinstall 프로그램을 이용하여 비교적 손쉬운 방법으로 단일화된 포터블 프로그램을 만드는 방법에 대해 알아보겠습니다.

사용된 Thinstall 버전은 v3.104 입니다.

포터블 가이드에 사용되는 프로그램은 Ashampoo_Magicalsnap v2.10_kor 입니다.

 

가상의 컴퓨터 환경에서 작업 하기위해 PowerShadow Master 란 프로그램을 사용하였습니다.

전에는 Sandboxie 를 자주 사용 해왔는데 요즘은 귀차니즘 때문에 비교적 사용이 간단한 PowerShadow Master 를 자주 이용 한답니다.

 

Thinstall 프로그램으로 시스템 환경을 캡쳐 하기전에 모든 바이러스 프로그램을 재워 둡니다.

또한 시스템 트레이의 상주 프로그램 또한 전부 재워 두어야겠죠..

 

가능한.. 시스템 환경이 비교적 깨끗한 상태에서 작업을 해야 에러율을 줄일수 있습니다.

레지스트리가 꼬여있고..시스템이 불안정한 상태에서 작업을 하게되면 성공 확률이 지극히 낮습니다

참고하시길..

 

 

이제 시작 합니다..

Thinstall.v3.104 의 "Setup Capture" 를 클릭하여 프로그램을 시작 합니다.
Start 버튼을 클릭합니다.

 


 

시스템 환경을 스캔후 스냅샷 으로 저장하게될 드라이버 선택 창입니다.
 
기본값 C:\드라이버에 체크가 되어있습니다.
효율적인 스캔을 위해 윈도우 시스템 파일이 있는 드라이버인 c:\에만 체크 합니다.
또한.. 레지스트리 스캔의 네모상자에 체크가 되어있습니다.
 
눈도장만 찍고  "Pre-Install Scan" 버튼을 클릭합니다.
 

 

시스템 환경을 스냅샷으로 기록 중입니다.

 

 


 

시스템을 스캔후 레지스트리에 문제가 있다며 경고창이 뜨는군요..-_-

아마도 고스트로 복원 하면서 제 계정에 문제가 좀 있는거 같습니다.

 

중요한 문제는 아닌거 같아서 무시하고 "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 파일도 삭제를 해줍니다.

 


언어 파일이 들어있는 "lang" 폴더를 연뒤 영문 언어 파일과 한글 언어 파일을 제외한 나머지 파일은 전부 삭제를 해줍니다.
필요할 경우 영문 파일도 삭제를 해줘도 무방 합니다.
 

저는 영문 파일과 한글 파일만 위의 그림처럼 남겨 놓았습니다.

 

 


 

Help(도움말) 폴더도 삭제를 해주면 됩니다.

영어와 독어로 된 도움말 파일 이어서 필요 없을거 같아서 삭제를 했습니다.

이제 디렉터리 정리 작업은 어느정도 마무리 된거 같네요..

 

지금까지 작업 내용은 Thinstall 의 Captures 디렉터리의 Ashampoo Magical Snap 2 에 그대로 반영이 됩니다.

앞에서.. 종료 되지않고 외롭게 기다리고 있을 Setup Capture 에게 찾아갑니다.

 

 


 
프로그램이 설치된후의 시스템 환경을 캡쳐하기 위해 Setup Capture 창의  "Post-Install Scan" 버튼을 클릭 합니다.
 

변화된 시스템의 환경을 스캔 하기 시작 합니다.

 


 

앞에서와 같이 경고를 뱉어 내는군요..

무시하고 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 은 비교적 사용법이 간단합니다.

허나 시스템 환경에 따른 에러율 또한 높은 편이기도 합니다..

 

단일 파일로 생성이 되기때문에 업데이트가 어려운 단점도 있고요..

업데이트된 파일로 다시 작업을 해줘도 다른 방법으로 포터블화 하는것 보다는 쉬워 보입니다.

장단점이 다 있으니..

 

신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'Portable USB > Portable USB 실행하기' 카테고리의 다른 글

Thinstall 을 이용해서 포터블 프로그램 만들기  (0) 2008.06.03
Thinstall 을 이용한 포터블 가이드  (0) 2008.06.03
thinstall  (0) 2008.06.02
포터블 선정시 유의 사항  (0) 2008.06.02
Thistall  (1) 2008.06.02
무설치 프로그램 만들기  (0) 2008.06.01
posted by Terapi
TAG thinstall

이번에는 Thinstall 을 이용하여 단일 파일을 만드는 방법을 조금 더 알아보자. 이미 다 아시는 내용일 수 도 있으나 모르시는 분들을 위해서.......



포터블 프로그램을 만드는 방법들을 한번 생각해보자.


1. 프로그램 설치 후 -> 프로그램 폴더만 USB 에 복사하여 사용

2. 별도의 로더 프로그램 사용하여 포터블 만들기 ( AutoIt, NSIS, Winrar SFX, Autobatch )

3. Thinstall



위 방법들이 대부분 카페에 소개되어 있다. 오늘은 이중에서 Thinstall 에 좀 더 관심을 가져보자.


Thinstall 이야기를 하기전에 혹시 무설치 프로그램 중에 단일 화일로 된 프로그램들을 많이 보았을 것이다. 처음 보면 좀 황당하기도 하다. 수많은 파일과 폴더로 이루어진 프로그램들이 어떻게 파일 하나로 묶을 수 있는지.....


주로 File packer 또는  quick batch file compiler, nbinder, Winrar, UPX 등의 프로그램드이 쓰인다.


많이 알려진 프로그램들이니 다들 한 번 씩 써보시기 바란다. ( 이것들이 뭔지 모르시는 분은 그냥 무시하셔도 돼요.)


이제부턴 단일 파일 만드는 패커 프로그램용도로 Thinstall 을 써보자.  아래부터 설명은 Thinstall 프로그램을 한번이라도 사용해본 사람을 기준으로 설명하였다.  Thinstall 을 사용해보지 않으신분은 여기를 참조. http://cafe.naver.com/usboffice/411 하여 먼저 한번이라도 사용해보고 아래글을 읽기 바란다.




1. Thinstall 설치하기


 - thistall 프로그램을 PC 에 설치하자. ( 3.049 버전 추천 )

 - 설치할때 설치 경로나 폴더명을 바꾸지말고 디폴트로 설치

 - 상용 프로그램이므로 구매를 하시던지~ 알아서 구하자. 까까도 많이 나와있고 쉽게 찾으실 수 있다.





2. 단일파일  패킹의 기본 템플릿의 이해


 - 일단  PC 에 Thinstall 이 설치되었다고 가정하고 계속 진행한다.

 - 첨부된 파일을 다운받아서 압축을 풀어보자. 이 폴더를 이하 템플릿 폴더라고 하자.



 
 
 -  위와같이 나올것이다. 위에 나오는 폴더명이 나타내는 실제의 폴더명을 적어보면 아래와 같이 의미한다.
 
%AppData%               : documents and settings >사용자 이름 > Application Data
%SystemSystem%       : Windows > System32
%ProgramFilesDir%     : Program files
%Fonts%                   : Windows > Fonts
%Desktop%                : 바탕화면
%drive_c%                 : c:\
%Local Appdata%       : documents and settings >사용자 이름 > Local settings > Application Data
%Profile%                  : documents and settings >사용자 이름
%Personal%              :  documents and settings >사용자 이름 > My documents

 
 - Thinstall 로 나중에 단일 파일을 만들면 각 폴더안에 있는 파일이 실제의 PC 의 해당 폴더에 있는것으로 간주하고 동작한다.
 
 
 - 예를 들면 어떤 *.dll 화일  이 system32 폴더에 있어야만 동작하는 프로그램이 있다고 가정하면 그 dll 파일을 %systemSystem% 에
    복사해넣고 나중에  build.bat  를 눌러서 단일 화일을 만들면 실제 PC 의 system32 폴더에 그 dll 화일이 없어도 있는것 처럼 작동
    이 작동이 잘 된다는 얘기다.
 
 
 
 
3. 실제 프로그램 파일을 템플릿 폴더에 복사
 
- 자신이 단일 화일로 패킹하고 싶은 파일을 %programfilesDir% 아래에 폴더를 만들고 복사해넣자
- 여기서는 Total Commander 을 예시로 한다.
- 토탈 커맨더의 무설치 버전 또는 설치버전 (여기서는 본 카페에 있는 무설치버전을 사용한다.)을 위 템플릿 폴더에 복사하자.
- totalcmd 폴더를 위 템플릿 폴더안에 %programfilesDir% 폴더안에 복사해 넣었다.
 
 

 
 
 
4. Package.ini 파일 건드리기
 - package.ini 파일 안을 메모장으로 열어서 아래와 같이 타이핑하자.
 
====================================================================================================
 
 [BuildOptions]
OutDir=bin
SandboxName=Total Commander
 
[TotalCMD.EXE]                                                          <-- 향후 파일 명이 된다.
Source=%ProgramFilesDir%\totalcmd\totalcmd.EXE           <-- 단일 파일로 만들 실행화일 링크
ReadOnlyData=bin\Package.ro.tvr                                   <-- totamCMD.exe 파일안에 필요 파일을 전부 포함
                                                                                     시키라는 뜻
 
[Compression]
;CompressionType=None                                                 <-- 압축하지말고 단일 파일로 만들라는 옵션
CompressionType=Fast                                                   <-- 압축을 하여 단일 파일로 만들라는 옵션(추천)
 
[Isolation]
;DirectoryIsolationMode=WriteCopy                                    <-- 파일 시스템을 완전히 분리하라는 뜻
DirectoryIsolationMode=Merged                                        <-- 파일 시스템을 공유하라는 뜻 (추천)
 
 
;[cmd.exe]
;Source=c:\windows\system32\cmd.exe                           <-- totalcmd.exe 용 도스 명령창 만드는 옵션
;Shortcut=totalcmd.EXE
 
;[regedit.exe]                                                               <-- totalcmd.exe 용 레지 에디터 만드는 옵션

;Source=c:\windows\regedit.exe
;Shortcut=totalcmd.EXE
================================================================================================
 
- 위와 같이 세팅을 하자 위 옵션을 보면 %programfilesDir% 폴더 안에 totalcmd 폴더안에 있는 totalcmd.exe 파일을 TotamCMD.exe
   라는 파일로 만들고, 필요한 부가 파일도 전부 포함시키고
-  압축을 하여 파일 사이즈를 줄이고 PC 와 파일 시스템을 공유하고
- 만들어질 Totalcom.exe 와 연동되는 cmd.exe 를 만들어라는 옵션이 셋팅되어 있다.
 - ; 표시는 나중에 단일 파일 만들때 실행하지 말고 건너뛰라는 뜻이다.
- 통상 cmd.exe 및 regedit.exe 는 만들 필요가 없다. 하지만 꼭 한번 만들어서 써보시기를 추천한다.
- 예를 들어 CMD.exe 에 붙어있는 ; 지우고 CMD 를 실행해서 program files 에 가보자 그러면 totalcmd 폴더가 보여진다.
  필요한 파일을 수정하거나 실행 해볼 수 있다.
  
 
 - 여기서 잠깐 !! cmd.exe 를 같이 만들어서 어떻게 사용하는지 사용 용도를 한 번 살펴보자. 이 것은 어디까지나 활용 방법을
    설명하기위한 예시이다.
 



 - 게임 하나를 Thinstall 로 단일 파일로 만들었다. 만들면서 cmd 옵션도 설정하여 같이 만들었다.

 - 이 게임은 잘 동작 하지만매 200 판을 하고나면 돈을 더 내라고 나온다. 그러나  미리 200 판을 다시 초기화 할 수 있는 레지스트리

    키를 build 하기전에  %drive_c% 에 복사해 넣었다.

 - 그래서 200 판을 하고 난 다음 레지스트리 키를 이용하여 다시 초기화 하고 싶다면 위의 cmd.exe 를 눌러서 c: 로 이동해보자.



 - 현재 PC 상에 c: 에는 아무리 찾아봐도 renew.reg 파일이 없지만 위의 CMD.exe 에는 renew.reg 가 보인다. (가상 파일 시스템 )
 - 그럼 이제 이 cmd 창에서 renew.reg 를 입력하고 엔터 치면 레지스트리가 패치된다. 물론 PC 의 레지스트리가 변경되는 것이
    아니다. 가상의 레지스트리를 변경하는것이다.
 - 다시 위 게임을 실행하면 실행 판 수가 0 로 나온다.
 - cmd 나 regedit 는 이런 식으로 활용 할 수 있다. 단일 파일이지만 그 안의 내용들을 필요에 따라 수정할 수 있다는 얘기다.
 - 실제로는 위와 같이 할 필요도 없이 Thinstall 폴더만 지워버리면 초기화 되지만 설명을 드리기위해 예시를 들었다.
 
 
 
 
5. 이제 템플릿 폴더에 build.bat 를 실행하여 보자.
 - 이제 템플릿 폴더에 build.bat 를 눌러서 단일 파일을 만들자.
 - bin 이라는 폴더가 생성되고 아래와 같이 만들어지면 성공이다.
 - 그냥 실행은 안될것이다. 파일 패치를 해줘야 실행된다. 파일 패치가 모르시는 분은 없을것으로 생각하고~~
 

 
 
 
 
6. 실행 & 설정 유지하기.
 
 - 파일 패치가 끝났다면 이제 실행해보자.
 - 실행이 잘되야 정상이다.
 - 그럼이제 모든 설정이 다른  PC 에서 실행해도 다 유지되는가?  정답은 No.
 - 이제부터 진행되는 모든 설정을 유지시키기 위해서는 Thinstall 이라는 폴더를 만들어 줘야한다.
 - 그럼 위 파일과 동일 폴더내에 있는 Thinstall 폴더를 USB 메모리에 가지고 다니면서 설정을 유지한 상태로 쓸 수 있다.
 - 참고로 thinstall 로 된 프로그램은 설정값을 읽어들이는 순서가 아래와 같다.
 
   1. 동일 폴더내 thistall 폴더를 검색하여 필요한 설정값을 읽어들인다. 더이상 다른곳에 폴더를 생성시키지 않는다. 이렇게 하면
       모든게 해결된다. 더이상 아래를 읽을 필요없다. 그냥 참고적으로 좀더 설명하면.......
 
   2. 만약 동일 폴더내에 thistall 이라는 폴더가 없을 경우, thinstall 로 만들어진 프로그램은 document and settings >
      application data > thinstall 이라는 폴더를 검색하여 필요한 설정을 읽어 들인다. 따라서 이 폴더가 있는 PC 에서는 totalcmd 의
      설정이 항상 잘 유지된다. 그러나 다른 PC 에서는 설정 유지가 안되고 초기화되어 실행된다.
 
  3. 마지막으로 document and settings > application data > thinstall  가 없을 경우 파일 내부에 있는 초기화되어 있는 설정을 불러
      들이고 그 설정값을 document and settings > application data > thinstall 에 자동으로 생성시킨다. 가능하면 실행화일의
      동일 폴더내에 thinstall 이라는 폴더를 만들어두는것이 좋다고 할 수 있겠다. 그래야 설정이 유지된다.
 

 

 
 
 
 
7. 이제 부터는 단일 파일만들때 Thinstall 을 사용하자.
 
 - Thinstall 로 단일 파일을 만들었을때 장점은 너무 많다.
 - 레지스트리 걱정 안해도 된다. Host PC 레지스트리를 쓰거나 읽거나 하는 작업을 하지 않는다. ( 가상 레지스트리 사용 )
 - 레지스트리를 건드리지 않기 때문에 host PC 에 다른 버전의 동일 프로그램이 있어도 충돌이 나지 않는다.
 - 다른 파일 팩킹 프로그램을 실행하면 일단 압축해제하고 프로그램을 임의의 폴더로 복사하는데 시간이 걸리지만
 - Thinstall 은 빠르게 실행된다. 아마도 메모리에 캐싱을 하는것 같다.
 - 두말할 필요없이 불필요한 파일이 전혀 남지 않는다.
 - 확실히 차별되는 부분중 하나는 각종 환경 프로그램 ( .net framework, Jre, 각종 Active X ) 등과 연동이 가능하다.
    그래서 PC 에 JRE 가 없어도 JRE 상에서 돌아가는 프로그램들을 무설치 파일 패킹할 수 있다.
 
 
 
 
8. 뒷 다마~~
 
 - 최근에 업데이트한 자료 중 Paint.net 3.01 프로그램이나 freemind 도 위와같은 방법으로 만들어 졌다.
 - Paint.net 은 .net framework 가 필요하고 Freemind  는 JRE 가 있어야 하는 프로그램들이다.
 - 먼저 thinstll 로 .netframework 또는 jre 설치를 캡처하고 최종 Build 누르기 전에
 - Freemind  프로그램 파일을 복사해 넣고 package.ini  파일을 수정하여 freemind.exe 파일로 단일 파일이 만들어지도록 하였다.
 - 그래서 JRE 또는 .net Framework 가 기본으로 필요한 프로그램들은 이와같이 작업하면 진정한 포터블로 거듭날 수 있다.

 

출처 : Tong - aircadet님의 기본통

신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'Portable USB > Portable USB 실행하기' 카테고리의 다른 글

Thinstall 을 이용해서 포터블 프로그램 만들기  (0) 2008.06.03
Thinstall 을 이용한 포터블 가이드  (0) 2008.06.03
thinstall  (0) 2008.06.02
포터블 선정시 유의 사항  (0) 2008.06.02
Thistall  (1) 2008.06.02
무설치 프로그램 만들기  (0) 2008.06.01
posted by Terapi

제가 포터블을 시도할 대상 프로그램은 아래와 같이 분류하고 각각의 경우에 맞는 대상 어플리케이션을 하나씩 선정해 보겠습니다.

(1)
단일 파일형
    원래 어플 자체가 단일파일로 제작되었거나 누군가가 포터블화하여 단일 파일로 만든 경우입니다.

 런 경우에는 USB PC든 자유롭게 해당 파일만 있으면 실행이 가능합니다.
    -
이런 형태는 별도의 가상 파일 및 레지스트리 시스템이 필요 없다고 할 수 있습니다.
       (
, 결과 파일을 저장해야 하는 경우에는 가상 파일 시스템이 필요하겠지요.)
    -
대상 소프트웨어 : 화면 캡쳐 프로그램 PicPick

(2)
복수 파일형
   
원래 어플 자체가 여러 파일로 구성되어 있으나 그중 하나의 실행파일을 단지 실행하기만 하면 실행
    이
되는 경우입니다. , 폴더 단위로 복사하면 되는 것만 틀리지 (1)과 전혀 다른 점이 없다고 볼 수
    있
습니다. 이 경우 구성파일을 파일패커 등으로 묶으면 (1)과 같게 됩니다.
   
- 이런 형태는 별도의 가상 파일 및 레지스트리 시스템이 필요 없다고 할 수 있습니다.
      , 결과 파일을 저장해야 하는 경우에는 가상 파일 시스템이 필요하겠지요.
    -
대상 소프트웨어 : FTP 프로그램 FileZilla

(3)
설치형 (단순 파일 복사)
   
어플 설치를 위한 별도의 인스톨러를 지원하지만 실제로는 인스톨러가 (1)또는 (2)의 소프트웨어를
    단
순 복사하는 기능만 수행하는 경우입니다. 이 경우는 설치된 파일을 그냥 USB에 복사만 해도 (1)
    나
(2)처럼 포터블로 실행이 가능한 경우가 많습니다.
    -
이런 형태는 별도의 가상 파일 및 레지스트리 시스템이 필요 없다고 할 수 있습니다.
      
, 결과 파일을 저장해야 하는 경우에는 가상 파일 시스템이 필요하겠지요.
    -
대상 소프트웨어 : 파일 관리자 FreeCommander

(4)
설치형 (셀확장 등록 등)
   
어플 설치를 위한 별도의 인스톨러를 지원하며 이 인스톨러가 설치되는 소프트웨어 파일중 일부를
    (DLL
) 시스템에 등록하는 절차를 수행하는 경우입니다. (반드시 셀확장의 경우만을 얘기하는 것이
    아닙니
. 프로그램 실행에 필요한 OCX등을 등록하는 경우도 포함됩니다.)
   
대표적인 예(셀확장)가 압축 유틸들이 지원하는 마우스 단축메뉴입니다.
     - 이런 형태는 별도의 가상 파일 및 레지스트리 시스템이 필요합니다.
     -
대상 소프트웨어 : 압축 유틸 AlZip

(5)
설치형 (드라이버 설치)
      어플 설치를 위한 별도의 인스톨러를 지원하며 이 인스톨러가 시스템의 하드웨어와 관계되는 드라
      이버
를 설치하는 경우입니다. 대표적인 예가 가상환경을 제어하는 가상 시디 및 가상 PC 어플들입
      니다.

- 이런 형태는 별도의 가상 파일 및 레지스트리 시스템이 필요합니다. (아니면 또다른 무엇

 더 필요할지도 모르겠네요. 예를 들면 강제로 드라이버를 설치하는것이라든지...)

- 대상 소프트웨어 : 가상시디 유틸 Virtual Clone Drive

(6)
설치형 (복합형)
     
위의 (3), (4), (5)가 두개 이상 복합되어 있는 경우입니다. 일반적으로 어느정도 부피가 있는 어플들
      인
경우가 많으며 상대적으로 포터블화하기 힘든 경우가 많습니다.
      -
이런 형태는 별도의 가상 파일 및 레지스트리 시스템이 필요합니다.
      (이것도 또다른 무엇이 더 필요할지도 모르겠네요. 아래 대상의 경우엔 필요했었습니다.)
      -
대상 소프트웨어 : 개발툴 Borland C++ Builder 6.0 Enterprise

신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'Portable USB > Portable USB 실행하기' 카테고리의 다른 글

Thinstall 을 이용한 포터블 가이드  (0) 2008.06.03
thinstall  (0) 2008.06.02
포터블 선정시 유의 사항  (0) 2008.06.02
Thistall  (1) 2008.06.02
무설치 프로그램 만들기  (0) 2008.06.01
한글 2002  (0) 2008.06.01
posted by Terapi
사용자 삽입 이미지


 Thinstall Studio은 설치형태의 프로그램을 가상 포터블 프로그램으로 만들어 줍니다.
사용방법

1. 프로그램을 다운받아 설치하세요

2. 포터블로 만들고자 하는 프로그램(에디터플러스)을 준비합니다.

3. 시작 - 프로그램 - Thinstall Virtualization Suite - SetupCapture을 실행하고
   다른 열린창은 모두 닫습니다. (레지및 파일에 영향을 주기때문)

4. SetupCapture에서 Start를 클릭하면 아래와 같은 화면이 나옵니다.
    지금은 에디터 플러스 설치전입니다.
    이화면에서 Pre-install San >>을 클릭합니다.
    클릭하면 도스 창과 함게 현제 컴퓨터에 있는 레지및 파일들을 스캔합니다.
    컴퓨터에 따라 스캔가지 걸리면 시간이 오래걸릴수있습니다.

사용자 삽입 이미지

 5. 스캔이 끝나면 아래와 같은 화면이 나옵니다.
    아래 화면이 나왔면 이제 에디트 플러스를 설치합니다.
    설치가 완료됬다면 이번엔 Post - install >>을 클릭합니다.
    4번과 같이 도스 창이 나오면서 이제 설치후 레지및 파일을 검사하는 과정입니다.
사용자 삽입 이미지

6. 이과정이 끝나면 이제 마지막단계인 프로그램 설치후 변화된 파일및 레지를
   저장하는 과정입니다. 저장위치는 편한곳에 하면 됩니다.
   Save를 눌러 저장하고 나서 저장한 폴더를 찾아갑니다.
사용자 삽입 이미지

7. 저장한 곳에 가면 다음과 같은 폴더및 파일들이 생성되었을겁니다.
   이파일들은 프로그램을 설치후 변화된 각각의 시스템폴더및 바탕화면 프로그램폴더에 생긴 파일
   들이 있는 곳입니다.
   간단히 설명하겠습니다.
   Package.ini  이렇게 새로 생긴 파일을 하나로 합쳐는 정보를 담고 있습니다.
                      완성물이 나오지 않는경우 이파일을 수정함으로 결과물을 얻는경우도있습니다.

   Build.bat 이파일을 클릭하면 도스창이 뜨고 Bin폴더에 포터블을 완성시켜줍니다.

사용자 삽입 이미지

8. 이제 완성입니다.
   Bin폴더안의 완성된 에디트 플러스입니다.
   이제 이 Thinstall폴더는 에디트 플러스를 실행하였을때 생기는 설정및 파일들이
   들어있는 곳입니다.
사용자 삽입 이미지


신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'Portable USB > Portable USB 실행하기' 카테고리의 다른 글

thinstall  (0) 2008.06.02
포터블 선정시 유의 사항  (0) 2008.06.02
Thistall  (1) 2008.06.02
무설치 프로그램 만들기  (0) 2008.06.01
한글 2002  (0) 2008.06.01
Quick Batch File Compiler 및 파일패커를 이용한 무설치 제작 방법  (0) 2008.05.31
posted by Terapi

무설치 프로그램 만들기가 대세인것 같다.~ 회원분들 적지 않은분들이 여기에 관심을가지고 직접 제작을 하고계신것으로 알고있다.

 

사실, 무설치 프로그램 만드는것은 프로그램에 따라서 쉬울 수도 있고 어려울 수도 있는데...... 오늘 방법 하나를 소개한다.

 

지금까지 무설치 만드는 방법중 감히 가장 쉬운 방법이라고 생각한다. 누구나 있다. ? 싸나이도 있으니까....^^;

 

 

 

 

1. [Thinstall] 무엇인가?

 

 - 일반 PC 설치용 프로그램을 파일하나의 무설치 프로그램으로 만들어 주는 Utility

 - Thinstall 포터블이나 무설치 프로그램이 아니고 PC 설치용이다.

 - 쉐어웨어 ( 30) / 설치 용량은 7 MB

 - 프로그램으로 만들어진 무설치 파일은 호스트 PC 레지스트리를 별도로 건드리지 않는다. ( 아래 구조도 참조)

 

 

 

 

 

 

 

 

2. 다운로드

 

 - 인터넷 검색을 통해서 각자 알아서 구하시기 바랍니다. ( 죄송)

 

 

 

 

3. 스크린 & 실행 방법

 

 

 

 

 

 

처음 실행 화면이다. 위에 보이는 1, 2, 3 전체 무설치 단일 파일을 만드는 절차이다.

 

제일 먼저 하는것은 현재의 레지스트리 폴더 구조를 검색한다두번째는 임의의 프로그램을 설치하고

 

(여기서는  파이어폭스를 설치해본다.) 세번째는 설치 , 레지스트리 변경 상태 체크 신규 폴더 생성 파일을

 

확인하여 단일 파일로 만드는 준비 작업을 한다. 아래의 그림을 보면서 하나씩 진행해보자.

 

 

 

 

 

 

 

어느 드라이브의 파일구조를 스캔할것인가를 물어보는데.. 그냥 C: 체크하고 다음으로 넘기자.

 

 

 

 

 

그러면 이제 현재 컴퓨터의 레지스트리 구조부터 모든것을 사진찍듯이 기억을 하게된다. 일정 시간 지난 아래의 화면이 나온다.

 

 

 

 

 

 

~ 이제 현재의 시스템에 대한 분석은 끝났다. 화면이 보이면 "Post-install scan" 누르기 전에 무설치로 만들고 싶은

 

프로그램을 PC 설치하자~ . 여기서 파이어 폭스를 설치한다.

 

 

 

 

 

 

그냥 정상적으로 설치하면 된다. 일단 설치가 끝나면~ 파이어 폭스에 필요한 설정을 하고 필요한 플러그 인이 있으면

 

 

설치하자. 그리고 파이어폭스를 종료한 상태에서 다음 단계로 넘어가자.

 

 

 

 

 

 

 

 

"Post Install Scan" 눌러주자. 그럼 파이어 폭스가 인스톨이 되었기 때문에 이에따른 레지스트리 변화

 

 

파일 변경상태를 점검한다.

 

 

 

 

 

점검 중이다그냥 잠시 기다리면 된다.

 

 

 

 

 

 

점검이 끝나면 파이어 폭스의 모든 변경사항들을 어디에다 저장할것인지 물어오는데...이때 알아서 경로를 설정해주자.

 

 

 

 

 

 

 

그다음~ Quit 누르면 기본 과정이 끝났다. 이제 위에서 지정해준 경로가서 폴더를 열어보자.

 

 

 

 

 

 

 

폴더를 열어보면~ 레지스트리 문서와~ 파이어 폭스가 설치되면서 저장한 모든 폴더 파일들이 보여진다.

 

( 컴퓨터 마다 폴더가 다르게 나올것이다. )  여기서 위에 "build.bat" 클릭하자.

 

 

 

 

 

 

그럼 위에 보여졌던 모든 레지스트리 정보와 파일들이 하나의 파일로 만들어 진다.

 

 

 

 

 

 

이제 다시 폴더로 돌아가보면~ 없었던 bin 폴더가 보인다. bin 폴더로 들어가보자.

 

 

 

 

 

 

 

짜잔~~ 한글판 파이어폭스가 이제 하나의 파일로 생성되어 있다. 이거 USB 메모리에 복사하여 아무데서나 실행하면 된다. 실제로

 

파이어폭스를 실행해보니~ 각종 저장 상태 설정 변경들도 유지가 되어 실행이 된다기쁘다.

 

 ( 일부 무설치 단일 파일 프로그램들은 실행 때마다 설정을 다시 해야하는 경우가 많다. )

 

 

 

현재까지 본인이 테스트 해본결과~ thinstall 완벽하게 모든 프로그램을 단일 프로그램으로 만들어 주지는 않는다일단 프로그램

 

개발 사에서 보증하는 단일 파일로 만들기가 가능한 프로그램 리스트는 아래와 같다.

 

 

  Adobe Acrobat 4.0

  Adobe Acrobat Reader 5.0

  Adobe Acrobat Reader 7.08

  Adobe Acrobat Reader 8.0

  Adobe Illustrator CS2

  Adobe Photoshop 7.0.1

  Alias, Maya 7.0.1

  Apache HTTP Server 2.2.3

  Apple iTunes 7.02

  Axialis IconWorkshop v6.02 Corporate Edition

  Citrix Program Neighbourhood 9.2 Full

  Citrix Access Gateway Admin Client

  ClarisDraw 1.0v2

  Corel Painter IX

  CorelDraw 12

  Crystal Reports 9 Pro SP4

  Crystal Xcelsius Professional 4.5

  Danware Exporter 5.5.0.0

  Danware Mini Remote Control 5.5.0.0

  Danware NT Utilities 5.5.0.0

  Danware NetOp Remote Control 9 Build 2006161

  Electronic Workbench v5.12

  ExamDiff Pro 3.4.3

  FChart Software EES 7.802

  FileZilla 2.2.28

  GIMP 2.2

  GOM Player 2.0

  GoogleEarth Client 4.0.2416 BETA

  Help & Manual 3.6

  Hyena 6.7

  Internet Explorer 6 SP1

  Internet Explorer 7

  IrfanView / iview 3.99

  Lotus Organizer 6.0

  Macromedia Dreamweaver 8

  Macromedia Flash Professional 8

  Macromedia Freehand MX

  Mathcad 13

  Mathematica 5.2

  Matlab R2006b

  Maya 8.0

  MS Office 2007 Pro (Excel, Word, Powerpoint, Outlook)

  MS Office 2003 (Excel, Word, Powerpoint, Outlook)

  MS Office 97 (Excel, Word, Powerpoint, Outlook)

  MS Office XP (Excel, Word, Powerpoint, Outlook)

  MS One Note 2003

  MS Publisher 2003

  MS Visual Basic 6

  MS .NET Framework 1.1, 2.0, 3.0

  MS Vista Remote Desktop Client

  Mozilla Firefox 2.0 & 3.0

  Mysql 5.0

  OnTime Client 5.11

  Open Office 2.0.4

  Opera 9.02 browser

  Oracle 9.2 Client

  Oracle Calendar Desktop program 10.1.2

  Paint Shop Pro 7

  Paint.NET v2.72 with .NET Framework 2.0

  Pegasus Mail 4.41

  Petrel 2005

  PGP 8.1

  Picasa2

  PowerMILL Pro 7.0

  QIP 2005 build 7990

  Quark Express 5.01

  Quest Software Toad 8.0

  Quest Software Toad 8.61

  Ricardo Waves 7.1

  Roxio Creator Plus, CD recording software

  SAP GUI 6.40

  SketchUp Pro 5.0

  Skype 2.5

  Small HTTP Server 3.05

  SmartCode VNC Manager Enterprise v3.5.25.0

  Softera LDAP Browser 2.6

  Solidworks 2006

  TextPad 4.7

  Treesize Pro Ver. 4.1

  Trillian 3.1

  Ulead DVD Player v1.1

  UltraEdit-32 12.20a

  UltraISO Premium V8.6

  Unigraphics NX 4.0

  VanDyke SecureCRT 5.1.2

  Winamp 5.32

  Windows Media Player 11

  WinHEX 13.3

  WinRAR 3.61

  WinZip 11 Pro

 

 

 

 

물론 외에도 많은 프로그램들이 무설치 단일 파일로 될것이다. 회원님들의 적극적인 테스트 바라는 바이다~.

 

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by Terapi

한글 2002 만드는 과정입니다.

 

강좌는 아니고, 그냥 소스 올립니다.

 

먼저 만들 때 가장 주안점을 둔 부분은

1. 한글PE 실행 전후에 레지스트리의 변화를 최소화

레지스트리를 많이 건드리는 일부 프로그램의 경우 포터블 버전을 실행한 후에 찌꺼기(?)가 남습니다. 이로 인해서 컴퓨터에 설치되어 있거나 추후에 설치되는 같은 프로그램의 정상적인 실행을 방해합니다. (chemdraw라는 프로그램 때문에 죽는 줄 알았습니다.)

total uninstall에서는 레지스트리가 생성, 수정된 경우에만 나타나기 때문에 변경되지 않은 항목은 알 수 없습니다. 그래서 jv16 powertools를 이용하여 직접 레지스트리 검색을 하여 가능한 한 많은 레지스트리를 확보하려고 했습니다.

2. 레지스트리 변화를 최소화 하는 방법: 컴퓨터에 설치된 한글 실행

레지스트리를 전혀 건드리지 않은 방법이며, 특별히 자기 자신이 원하는 환경설정이 필요하지 않은 프로그램의 경우에는 굳이 포터블을 실행할 필요가 없을 것 같습니다.

3. 자동 등록, 삭제

이제까지 한글PE는 최초 사용시 hncsetup.exe를 실행하여 등록 후 사용하였습니다. 이번에는 hncsetup 실행 후 바뀐 레지스트리를 따로 추출하여, 이를 자동으로 등록하고 이 때 사용된 레지스트리를 자동으로 삭제하도록 했습니다.

 

만들면서 가장 어려웠던 부분은 컴퓨터에 한글이 설치되어 있는지 확인하는 것이었습니다. 설치경로를 레지스트리에서 찾아서 확인하려고 했지만, 한글은 HKCU HKLM에 설치경로를 남기지 않았습니다. 그래서 생각한 것이 한글이 이용하는 .hwp 확장자의 연결 프로그램에서 설치 경로를 가져오는 방법이었습니다.

그런데 각 버전에 따라  레지스트리에 입력하는 키가 달랐습니다.

(한글 2002 HKCR\hwp.document, 2005 HKCR\hwp.document.6, 2007 HKCR_hwp.document.7)

다른 버전들은 어떤 키를 쓰는지 모르겠지만 뒤에 있는 숫자만 바뀔 것이라 생각하고, 뒷부분의 숫자를 1씩 더하는 루프를 이용하였습니다.

특히 저 부분은 프로그램 삭제 후에도 남아있는 찌꺼기(?)여서 단순히 레지스트리가 존재하는 것만으로 설치여부를 확인할 수도 없었습니다. 그래서 그 경로에 실제 파일이 존재하는 지까지 비교하도록 했습니다.

 기본적인 과정은 다른 분들이 올려주신 강좌를 참고하시면 될 것 같아 소스 설명만하겠습니다.   

 

;트레이에 autoit 아이콘 숨기기
Opt("TrayIconHide", 1)
;레지스트리에서 연결 프로그램<c:\program files\hnc\hwp "%1"> 읽어들임
$var = RegRead("HKEY_CLASSES_ROOT\Hwp.Document\shell\open\command", "")
;레지스트리에서 읽어들인 값의 뒷부분( "%1") 제외한 실제 파일 주소 생성
$result = StringTrimRight($var, 5)
If FileExists($result) Then
;경로에 파일이 존재한다면(한글2002 설치되어 있다면..)
 MsgBox(0, "
한글과 컴퓨터 설치 확인", " 컴퓨터에는 한글과 컴퓨터의 제품이 설치되어 있습니다." & @LF & "" & @LF & "컴퓨터에 설치된 한글제품을 실행합니다.", 15)
 
; 설치된 프로그램 실행

 RunWait($result)
 
; 최근 파일 목록과 최근 사용한 폴더 목록 삭제

 RegDelete("HKEY_CURRENT_USER\Software\HNC\Hwp\File Dialog\Recent Folder List")
 RegDelete("HKEY_CURRENT_USER\Software\HNC\HWP\Recent File List")
Else
 For $i=1 to 10
;한글 레지스트리(ex, hwp.document.6) 확인하기 위한 루프
  $var1 = RegRead("HKEY_CLASSES_ROOT\Hwp.Document."& $i & "\shell\open\command", "")
  $result1= StringTrimRight($var1, 5)
  If FileExists($result1) Then
;한글2004 이상이 설치되어 있다면..
   MsgBox(0, "
한글과 컴퓨터 설치 확인", " 컴퓨터에는 한글과 컴퓨터의 제품이 설치되어 있습니다." & @LF & "" & @LF & "컴퓨터에 설치된 한글제품을 실행합니다.", 15)
   RunWait($result1)
 RegDelete("HKEY_CURRENT_USER\Software\HNC\Hwp\File Dialog\Recent Folder List")
 RegDelete("HKEY_CURRENT_USER\Software\HNC\HWP\Recent File List")
   ExitLoop
; 조건이 만족되어 프로그램이 실행되면 이후는 진행되지 않고 루프를 빠져나옴

  EndIf
 Next
EndIf
If FileExists($result)=0 And FileExists($result1)=0 Then
; 한글 제품이 설치되어 있지 않다면..
; 설치 안됨 확인창
 MsgBox(0,"한글과 컴퓨터 설치 확인"," 컴퓨터에는 한글과 컴퓨터의 제품이 설치되어 있지 않습니다." & @LF & ""& @LF &"한글 2002(Portable Edition) 실행합니다", 15)
; 레지스트리 등록(hncsetup.exe 실행시켰을 생성되는 레지스트리 파일경로나 clsid 지정하는 값만)

 RegWrite("HKEY_CLASSES_ROOT\CLSID\{07823C64-E67A-4700-948B-AA76EDE85A78}\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\vcfi32.ocx")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{37E10900-1372-11D3-B8F7-00C06C441359}\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\HwpABase.dll")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{549B2CC0-232F-11D3-B919-00C06C441359}\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\HwpAGrp1.dll")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{6B9F9140-2330-11D3-B919-00C06C441359}\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\HwpAGrp2.dll")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{6C486D94-BA50-4891-97AB-827E51CAD9DE}\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\vcfi32.ocx")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{6C486D94-BA50-4891-97AB-827E51CAD9DE}\ToolboxBitmap32", "", "REG_SZ", @ScriptDir & "\Hwp\vcfi32.ocx, 1")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{7287050F-D065-4F63-9753-8914B542C128}\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\HMapsiX.ocx")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{7F918A79-EBB4-4F8F-BC45-69C0079AE7B3}\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\HMapsiX.ocx")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{7F918A79-EBB4-4F8F-BC45-69C0079AE7B3}\ToolboxBitmap32", "", "REG_SZ", @ScriptDir & "\Hwp\HMapsiX.ocx, 1")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{8F2AA5C5-8C9C-11D3-8AC6-00A024CD2088}\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\Hwpeq5X.ocx")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{8F2AA5C5-8C9C-11D3-8AC6-00A024CD2088}\ToolboxBitmap32", "", "REG_SZ", @ScriptDir & "\Hwp\Hwpeq5X.ocx, 1")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{8F2AA5C6-8C9C-11D3-8AC6-00A024CD2088}\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\Hwpeq5X.ocx")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{AB7B24C1-69AB-11D2-BB80-00C06C385366}\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\HwpApp.dll")
 RegWrite("HKEY_CLASSES_ROOT\CLSID\{E579B6E0-2330-11D3-B919-00C06C441359}\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\HwpAGrp3.dll")
 RegWrite("HKEY_CLASSES_ROOT\HncMod.Hwp.CoEgn\CLSID", "", "REG_SZ", "{AB7B24C1-69AB-11D2-BB80-00C06C385366}")
 RegWrite("HKEY_CLASSES_ROOT\HncMod.Hwp.CoEgn\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\HwpApp.dll")
 RegWrite("HKEY_CLASSES_ROOT\HncMod.Hwp.CoEgn.1\CLSID", "", "REG_SZ", "{AB7B24C1-69AB-11D2-BB80-00C06C385366}")
 RegWrite("HKEY_CLASSES_ROOT\HncMod.Hwp.CoEgn.1\InprocServer32", "", "REG_SZ", @ScriptDir & "\Hwp\HwpApp.dll")
 RegWrite("HKEY_CLASSES_ROOT\HncMod.HwpAct.Base\CLSID", "", "REG_SZ", "{37E10900-1372-11D3-B8F7-00C06C441359}")
 RegWrite("HKEY_CLASSES_ROOT\HncMod.HwpAct.Group1\CLSID", "", "REG_SZ", "{549B2CC0-232F-11D3-B919-00C06C441359}")
 RegWrite("HKEY_CLASSES_ROOT\HncMod.HwpAct.Group2\CLSID", "", "REG_SZ", "{6B9F9140-2330-11D3-B919-00C06C441359}")
 RegWrite("HKEY_CLASSES_ROOT\HncMod.HwpAct.Group3\CLSID", "", "REG_SZ", "{E579B6E0-2330-11D3-B919-00C06C441359}")
 RegWrite("HKEY_CLASSES_ROOT\TypeLib\{52297DBC-1F3A-4587-ACFD-B5EE0CA8DB58}\1.0\0\win32", "", "REG_SZ", @ScriptDir & "\Hwp\HMapsiX.ocx")
 RegWrite("HKEY_CLASSES_ROOT\TypeLib\{52297DBC-1F3A-4587-ACFD-B5EE0CA8DB58}\1.0\HELPDIR", "", "REG_SZ", @ScriptDir & "\Hwp\")
 RegWrite("HKEY_CLASSES_ROOT\TypeLib\{6C486D94-BA50-4891-97AB-827E51CAD9DE}\1.0\0\win32", "", "REG_SZ", @ScriptDir & "\Hwp\vcfi32.ocx")
 RegWrite("HKEY_CLASSES_ROOT\TypeLib\{6C486D94-BA50-4891-97AB-827E51CAD9DE}\1.0\HELPDIR", "", "REG_SZ", @ScriptDir & "\Hwp\")
 RegWrite("HKEY_CLASSES_ROOT\TypeLib\{8F2AA5C2-8C9C-11D3-8AC6-00A024CD2088}\1.0\0\win32", "", "REG_SZ", @ScriptDir & "\Hwp\Hwpeq5X.ocx")
 RegWrite("HKEY_CLASSES_ROOT\TypeLib\{8F2AA5C2-8C9C-11D3-8AC6-00A024CD2088}\1.0\HELPDIR", "", "REG_SZ", @ScriptDir & "\Hwp\")
; 한글 2002 실행
 RunWait("hwp\hwp.exe",@ScriptDir)
; 레지스트리 삭제(위에서 등록한 레지스트리 + hwp.exe 실행후 생기는 레지스트리)
 RegDelete("HKEY_CLASSES_ROOT\.Asv")
 RegDelete("HKEY_CLASSES_ROOT\.Hml")
 RegDelete("HKEY_CLASSES_ROOT\.hwp")
 RegDelete("HKEY_CLASSES_ROOT\.Hwt")
 RegDelete("HKEY_CLASSES_ROOT\Applications\Hwp.exe")
 RegDelete("HKEY_CLASSES_ROOT\CLSID\{07823C64-E67A-4700-948B-AA76EDE85A78}")
 RegDelete("HKEY_CLASSES_ROOT\CLSID\{2733D2D6-90AE-42A0-B2CF-1E28D6877EB0}")
 RegDelete("HKEY_CLASSES_ROOT\CLSID\{37E10900-1372-11D3-B8F7-00C06C441359}")
 RegDelete("HKEY_CLASSES_ROOT\CLSID\{549B2CC0-232F-11D3-B919-00C06C441359}")
 RegDelete("HKEY_CLASSES_ROOT\CLSID\{6B9F9140-2330-11D3-B919-00C06C441359}")
 RegDelete("HKEY_CLASSES_ROOT\CLSID\{6C486D94-BA50-4891-97AB-827E51CAD9DE}")
 RegDelete("HKEY_CLASSES_ROOT\CLSID\{7287050F-D065-4F63-9753-8914B542C128}")
 RegDelete("HKEY_CLASSES_ROOT\CLSID\{7F918A79-EBB4-4F8F-BC45-69C0079AE7B3}")
 RegDelete("HKEY_CLASSES_ROOT\CLSID\{8F2AA5C5-8C9C-11D3-8AC6-00A024CD2088}")
 RegDelete("HKEY_CLASSES_ROOT\CLSID\{AB615825-D4BC-11D3-A2A6-00C06C385792}")
 RegDelete("HKEY_CLASSES_ROOT\CLSID\{AB7B24C1-69AB-11D2-BB80-00C06C385366}")
 RegDelete("HKEY_CLASSES_ROOT\CLSID\{E579B6E0-2330-11D3-B919-00C06C441359}")
 RegDelete("HKEY_CLASSES_ROOT\HMAPSIX.HMapsiXCtrl.1")
 RegDelete("HKEY_CLASSES_ROOT\HncMod.Hwp.CoEgn")
 RegDelete("HKEY_CLASSES_ROOT\HncMod.Hwp.CoEgn.1")
 RegDelete("HKEY_CLASSES_ROOT\HncMod.HwpAct.Base")
 RegDelete("HKEY_CLASSES_ROOT\HncMod.HwpAct.Group1")
 RegDelete("HKEY_CLASSES_ROOT\HncMod.HwpAct.Group2")
 RegDelete("HKEY_CLASSES_ROOT\HncMod.HwpAct.Group3")
 RegDelete("HKEY_CLASSES_ROOT\Hwp.Document")
 RegDelete("HKEY_CLASSES_ROOT\HWPEQ5X.Hwpeq5XCtrl.1")
 RegDelete("HKEY_CLASSES_ROOT\Hwt.Document")
 RegDelete("HKEY_CLASSES_ROOT\Interface\{8F2AA5C3-8C9C-11D3-8AC6-00A024CD2088}")
 RegDelete("HKEY_CLASSES_ROOT\Interface\{8F2AA5C4-8C9C-11D3-8AC6-00A024CD2088}")
 RegDelete("HKEY_CLASSES_ROOT\TypeLib\{52297DBC-1F3A-4587-ACFD-B5EE0CA8DB58}")
 RegDelete("HKEY_CLASSES_ROOT\TypeLib\{6C486D94-BA50-4891-97AB-827E51CAD9DE}")
 RegDelete("HKEY_CLASSES_ROOT\TypeLib\{8F2AA5C2-8C9C-11D3-8AC6-00A024CD2088}")
 RegDelete("HKEY_CURRENT_USER\Software\HNC")
 RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\HNC")
 RegDelete("HKEY_USER\.DEFAULT\Software\HNC")
EndIf
Exit

 

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by Terapi

출처: 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 폴더를 붙여넣기 합니다.

 

이제 만 정리하면 벌써 레지스트리 를 정리할 차례이군요;; 우선 메인폴더Setting

 

폴더에 System32 라는 폴더를 만듭니다. 그리고 이제는 잘아시겠지만 ALZALZ.BIN 과 ALZZip.BIN 파일을 하나

 

하나씩 복사해서 System32 폴더에 넣어놓으세요.

 

 

그리고 이번엔 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 강좌 끝 -

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by Terapi

약속한대로 2부에서는 이어서


AutoIT을 사용하는 방법을 배우겠습니다..


우선 컴퓨터에 AutoIT이 설치되지 않은 분은


1부에서 AutoIT을 다운받아서 설치해주세요...


[오토잇 설치과정 Part.1]



설치 진행을 위해 Next 버튼을 누릅시다...



읽든 안읽든 I Agree 버튼을 눌러줍시다..



우리는 Run the script 에 체크하고 Next 버튼을 눌러줍시다.



원하는 위치에 설치하시거나 그냥 그대로 냅두고


Install 버튼을 눌러줍시다.



엄청난 스피드로 설치가 진행됩니다...



Finish 버튼을 눌러서 설치를 완료합니다.


[실전 Part.2]


우선 시작- 모든 프로그램-AutoIt v3-Compile Script to .exe


를 실행합니다. 그다음 바로 끕니다.... (오른쪽 버튼생성을 위해서)




그리고 지난번에 만들었던 포터블~^^ 폴더에 들어갑니다.


그다음 오른쪽버튼-새로 만들기-AutoIt v3 Script 를 클릭합니다.


그리고 새 AutoIt v3 Script 를 소스 로 이름을 바꿉니다.



우리는 진짜 오토잇 언어를 짜기전에 미리 중요한 것을


실습할것입니다. 이부분은 실전에 아주 많이 쓰이니 머리에 잘 저장하시기 바랍니다.



[레지적용]



뜻을 풀이하자면 RunWait는 실행하다 이고


("regedit.exe /s data\Setting\Registry\set.reg") 라고 적힌것은


지난번에 만든 data\Setting\Registry\set.reg 를 창없이 레지에 적용하라는 뜻을


가지고 있습니다. 그리고 @ScriptDir은 소스 가 실행되는 폴더를 말합니다..


[폴더 복사]



뜻을 풀이 해 보자면 DirCopy는 폴더를 복사하다 란 뜻이고


(@ScriptDir & "data\Setting\Application Data\ESTsoft", @AppDataDir & "\ESTsoft")


라는 것은 data\Setting\Application Data\ESTsoft의 폴더를


C:\Documents and Settings\사용자이름\Application Data\ESTsoft에 복사하라는 뜻입니다.


여기서 우리가 주목해야 할것은 @AppDataDir 입니다. @AppDataDir 는 매크로라고 합니다



예재

@AppDataCommonDir =C:\Documents and Settings\All Users\Application

@AppDataDir =C:\Documents and Settings\사용자 이름\Application Data

@CommonFilesDir =C:\Program Files\Common Files

@ComSpec =C:\WINDOWS\system32\cmd.exe

@DesktopCommonDir =C:\Documents and Settings\All Users\바탕화면

@DesktopDir =C:\Documents and Settings\사용자 이름\바탕화면

@DocumentsCommonDir =C:\Documents and Settings\All Users\Documents

@FavoritesCommonDir =C:\Documents and Settings\All Users\Favorites

@FavoritesDir =C:\Documents and Settings\사용자 이름\Favorites

@HomeDrive =C:

@HomePath =C:\Documents and Settings\사용자 이름

너무 많아서 생략......
 
첨부파일 Macro.exe 에 더 자세하게 설명되어 있습니다.



파일 복사



이제 점점 외계어가 차례차례 등장합니다...


FileCopy는 말 그자체로 파일을 복사한다 라는 뜻입니다.


(@SystemDir & "ALZALZ.BIN", @ScriptDir & "data\Setting\System32")


는 C:\Windows\System32 의 ALZALZ.BIN 파일을 소스가 실행되는 곳의


data\Setting\System32 에 복사하라는 뜻입니다


폴더삭제



DirRemove는 디렉토리 삭제의 줄임말으로서 폴더를 삭제한다는 뜻이 있습니다.


(@AppDataDir & "\ESTsoft", 1)


는 C:\Documents and Settings\사용자 이름\Application Data\ESTsoft


라는 폴더를 삭제하라는 뜻입니다. 1은 1초안에 처리하라는 뜻입니다.



파일삭제



FileDelete는 말그대로 파일을 삭제한다는 기본적 뜻입니다.


즉 내용을 풀이하면 C:\Windows\System32 의 ALZALZ.BIN 을


삭제하라는 내용입니다.



실전!!


RunWait("regedit.exe /s data\Setting\Registry\set.reg", @ScriptDir)

; 프로그램의 레지를 실행한다


DirCopy(@ScriptDir & "data\Setting\Application Data\ESTsoft", @AppDataDir & "\ESTsoft")

;프로그램 데이터를 등록시킨다.


DirCopy(@ScriptDir & "data\Setting\System32", @SystemDir)

;프로그램 내용을 등록시킨다.


RunWait("data\ALZip\ALZip.exe")

;알집을 실행합니다.


DirCopy(@AppDataDir & "\ESTsoft", @ScriptDir & "data\Setting\Application Data\ESTsoft")

;프로그램의 데이터를 저장합니다.


FileCopy(@SystemDir & "ALZALZ.BIN", @ScriptDir & "data\Setting\System32")

;프로그램 내용을 저장합니다


FileCopy(@SystemDir & "ALZZip.BIN", @ScriptDir & "data\Setting\System32")

;프로그램 내용을 저장합니다


DirRemove(@AppDataDir & "\ESTsoft", 1)

;컴퓨터에 있는 알집의 데이터를 삭제합니다.


FileDelete(@SystemDir & "ALZALZ.BIN")

;컴퓨터에 있는 알집의 내용을 삭제합니다.


FileDelete(@SystemDir & "ALZZip.BIN")

;컴퓨터에 있는 알집의 내용을 삭제합니다.


RunWait("regedit.exe /s data\Setting\Registry\del.reg", @ScriptDir)

;컴퓨터에 있는 알집의 레지를 삭제합니다.


sleep("300")

;3초간 아무것도 하지 않는다

;(CPU 사용률 감소)


Exit

;종료한다.




어땠나요?? 조금 힘들으셨나요? 수고하셨습니다.


이정도만 알아도 왠만한 것은 충분히 무설치로 만들수 있습니다..


제가 너무 강좌에 약해서 의견만 앞섰지 표현을


잘못한것 같군요....



원문보기

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by Terapi

이번엔 한번 USB용 프로그램 만드는 방법을 알려드릴 것입니다.


우선 첨부파일에 있는 Total Uninstall 4를 다운받으고요..


그다음 제가 밑에 올려놓은 Setup 파일을 다운받으세요..


직접해주기 보다는 하는법을 저는 알려드릴것입니다..


다같이 실전으로 돌입해 볼까요??




Total Uninstall을 설치하고 난뒤 Setup 파일에 오른쪽 클릭을 하면


이렇게 뜹니다 모니터링 버튼을 누릅시다...



프로그램이름은 그냥 대충 쓴뒤 프로그램 설치 경로는 건들이지 말고


다음 버튼을 누릅시다...



순간적으로 이런 화면이 번개 처럼 뜨면 가만히 냅둡시다..



우리는 아무것도 건드리지 말고 지금 설치 프로그램 실행 버튼을 누르고


다음을 누릅시다.



설치를 진행하기 위해 다음을 누릅시다.




설치를 진행하기 위해 다음을 누릅시다.


설치경로는 그대로 두고 다음을 누릅시다.



시작메뉴는 필요없으므로 시작메뉴 폴더를 만들지 않습니다.


에 체크하고 다음을 누릅시다.



아이콘이 많이 있으면 나중에 복잡하므로 모두 체크헤제하고


다음을 누릅시다...



모두 알집기본설정으로 한다음 확인을 눌러서 레지에 적용되게 합시다..


그리고 다시한번 실행한다음 종료합니다.



Total Uninstall 4로 돌아가서 다음을 누릅시다..




이런 창이 뜨면 닫기 버튼을 눌러주세요..




자... 드디어 이런 창이 떴습니다. 그럼 우선


폴더를 하나 만듭시다.



뭐 폴더 이름은 상관 없습니다 ^^




Program Files 의 ESTsoft를 오른쪽 클릭하면 "복사"


버튼이 있습니다. 버튼을 누른뒤에


포터블~^^ 폴더 안에 붙여 넣기 한뒤 이름을 data로 바꿉니다.


그리고 포터블~^^ 에 data 폴더 안에 Setting폴더를 만들고 Registry 폴더를 만듭니다.



상단에 보면 파일-내보내기-레지스트리 변경 항목 을 클릭하면


위와같은 창이 뜹니다. 우선 삭제된 값,삭제된 키에 체크 해제하고


설치 파일에 체크 한다음에 확인 버튼을 누릅니다.



그다음 방금만들은 포터블~^^\data\Setting\Registry에 Set라는 이름으로


레지를 저장합니다.




한번더 상단에 보면 파일-내보내기-레지스트리 변경 항목 을 클릭해서


삭제된 키,삭제된 값에 체크헤제하고 언인스톨 파일에 체크한뒤 확인을 눌릅니다.



이번에도 역시 방금만들은 포터블~^^\data\Setting\Registry에 del 이라는 이름으로


레지를 저장합니다.



그다음 포터블~^^\data\Setting\ 에 System32


라는 폴더를 하나 만듭니다. 그리고 ALZALZ.BIN과 ALZZip.BIN 에


하나하나씩 복사해서 방금만든 System32 폴더에 넣습니다.




한번더 포터블~^^\data\Setting\ 에 Application Data


라는 폴더를 만들고 Application Data의 ESTsoft를 복사 합니다.


그리고 방금만든 Application Data에 붙여넣기 합니다.


그럼이제 오토잇으로 소스를 만들면 되는데


오토잇을 사용하는 방법은 2부에서 알려드리겠습니다.


첨부파일


total_uninstall_4.exe (2046920byte)

setup.exe (5864912byte)



원문 보기

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
posted by Terapi
prev 1 next

티스토리 툴바