블로그 이미지
대갈장군

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

Notice

2012. 12. 15. 04:59 프로그래밍/C++

http://msdn.microsoft.com/en-us/library/dd293575(v=vs.100).aspx


오, 생각보다 간단하게 어플리케이션 재배포 패키지를 만드는 방법이 있넹? 뭐 아주 완벽하지 않지만 간단하고 빠르게 설치파일을 생성해 낸다는 점에서 꽤 괜찮은듯.  


우선, 내가 만든 프로그램 이름이 MyMFCApplication.exe라고 치자. 그러면 우선적으로 만들어야 할 파일이 setup.bat 파일이다. 이 파일에 다음과 같은 문장을 때려 넣자.

@echo off
vcredist_x86.exe
mkdir "C:\Program Files\MyMFCApplication"
copy MyMFCApplication.exe "C:\Program Files\MyMFCApplication"


뭐 간단히 예기하자면 도스 모드에서 실행될 명령어를 주욱 적어 놓은 것인데, 우선 vcredist_x86.exe파일을 실행하라는 말이고 이어서 "C:\Program Files\MyMFCApplication" 폴더를 생성하라는 말이고 다음으로는 내가 만든 어플리케이션을 복사해서 거기다 집어 넣으라는 말이다.


이게 왜 필요한지는 조금 있다 알게된다.


일단 cmd 윈도우를 열고 iexpress.exe를 치고 엔터! 그러면 아래와 같은 녀석이 나타난다.



Create new Self Extraction Directive File을 선택한 후 Next!


그 다음에는 Extract files and run an installation command 선택 후 Next!


그 다음에는 내 프로그램의 이름을 묻는데 내가 원하는 이름을 적어 놓고 Next!


그리고 Confirmation prompt 페이지에서는 No Prompt를 선택하고 Next!


다음으로 License agreement인데 Do not display a license를 선택 하고 Next!


이제 Packaged files 페이지에 도착했는데 여기서 이제 내가 만든 프로그램과, vcredist_x86.exe 파일과 아까 만들어 둔 setup.bat 파일을 넣어준다. 참, vcredist_x86.exe 파일은 Program Files 폴더 아래에 \Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\vcredist_x86  에 가면 찾을 수 있다.



 

 위 그림에 보면 내가 만든 프로그램은 빠져 있는데 넣는걸 잊어 먹지 말자.. ㅋㅋ


그리고 다음을 눌러보면 Install Program to Launch 페이지에 도착하는데 거기서 Install Program 텍스트 박스에다가 다음과 같이 넣어준다.


cmd.exe /c "setup.bat"





뭐, 저 명령은 cmd (도스 윈도우) 띄워서 setup.bat 파일 실행하라는 말이다. 


그 다음으로 Show Window 페이지에서는 Default 선택 후 Next!


Finished message 페이지에서는 No message 선택 후 Next!


그 다음인 Package Name and Option Pages에서는 내가 원하는 Setup 파일 이름을 적되, 아래 옵션에서 Store files using Long File name inside Package 옵션을 반드시 켜고 둘째로 파일 이름의 끝에 Setup을 꼭 넣어줘라. (예를 들자면 MyMFCApplicationSetup.exe)





이제 거의 끝이 보인다... 그리고 Configure restart 페이지에서는 No restart 선택 후 Next! (설치후 재시작 할꺼냐는 말)


Save Self Extraction Directive 페이지에서는 Save Self Extraction Directive (SED) file 선택 후 Next!


그리고 최종적으로 Create package 페이지에서 Next 클릭!


이제 내가 iexpress.exe를 실행했던 폴더를 가보면 뭔가 이상한 파일이 하나 만들어져 있을 것이다. 





두둥. 이것이 인스톨 파일이다! 짜짠...


이걸 이제 내가 설치하고자 하는 컴퓨터에 복사해서 더블 클릭해보면 우선 vcredist_x86.exe가 실행되면서 해당 컴퓨터에 Visual C++ redistribution 패키지 (DLL파일들)를 자동 설치하게 된다.


그 다음에는 프로그램 폴더에 자동으로 폴더를 생성해서 내가 만든 어플리케이션을 거기다 복사해 준다. 필요한 파일들이 더 있다면 복사 명령을 더 setup.bat에 더 써넣고 패키지에 필요 파일들을 더 넣어주면 될것 이다.


왜 이런 방법이 있는지 몰랐지? ㅋㅋ 역시 MSDN은 길을 잃고 헤멜 필요가 있는 미로다. 




posted by 대갈장군