C#응용프로그램
배포프로그램 만들기
mysql과 C#을 연동해서 고객 database관리 및 게시판, 자료실 기능을 하는 응용프로그램을 만들었는데요
문제는.... dotNet Framework!!!
이 닷넷프레임워크 덕분에 고민에 빠졌습니다.
내가 만든 프로그램을 실행파일만 던져주게된다면...닷넷이 설치되어있는 pc에서만 실행이 될텐데...
(게다가 전 mysql 연동을 했기때문에 mysql 관련 파일도 같이 설치해야 하는 상황이었습니다)
그래서 배포패키지를 만드는 방법을 찾아보게되었죠..
전호진 님의 블로그를 통해 방법을 알게되었습니다.(http://crynut84.tistory.com/45)
이번 포스트에서는 배포를 위한 설치파일(exe 혹은 msi)을 만드는 방법을 알아보고,
다음 포스트에서는 .netframework 설치여부를 확인 후 설치되지 않은 경우 .netframework도 같이 설치 해 주는 배포프로그램을 제작 해 보도록 하겠습니다.
영문판 기준으로 설명드립니다;;
1. File -> Project : 프로젝트를 생성합니다. VS에서 설치프로그램을 만드냐구요? 네. 그렇습니다. 설치프로그램을 제작해주는 다양한 툴이 있지만...내부 소스를 분석해서 포함된 DLL파일을 찾아주는 기능을 해 주는 녀석은 (적어도 제가 아는 무료프로그램중에는) VS2008밖에 없습니다-_-
(아..전 대학생이라 VS2008이 무료! 2010/04/24 - MS VisualStudio 2010 무료다운로드(DreamSpark)
2. Other project Types -> Setup Project : 설치 프로젝트를 생성합니다. 그리고 이름이랑 경로도 정해주세요... 나중에 설치하게되었을 때 프로그램 경로나 아이콘 이름 들이 다 설치프로젝트명으로 설정됩니다.
물론 바꿀 수도 있습니다-_-
3. 짜짠!! 이런게 나왔네요-_- 지금까지 보던 프로젝트 화면과는 조금 다르죠? 당연합니다. 이건 설치용 프로젝트를 만드는거니까요!
수훨한 설명을 위해 가장 왼쪽의 창을 1번!!, 가운데 Name과 Type이 나오는 창은 2번!! 그리고 속성 창을 3번이라고 부르도록 하죠!
4. 자..1번창에서 application folder를 선택하면 속성창에 application folder에 대한 속성이 나옵니다.
당연합니다-_-;;;
application folder : 프로그램이 실제로 설치되는 경로
user's desktop : 설치된 pc의 바탕화면
user's program menu : 시작바 -> 프로그램 눌렀을 때 뜨는 메뉴
이걸 왜 설명하냐면요...
우선 프로그램 설치 패키지까지 만들꺼니까...아이콘이 하나 좋은게 있으면 좋겠죠?
그래서 설치프로그램이랑 아이콘들은 모두 applicaiton folder에 넣을거구요
바탕화면과 프로그램 메뉴에 단축아이콘을 하나씩 넣을겁니다. 따라오세요
5. 우선 아까 1번창의 application folder를 선택한 상태에서...다른건 건드리지 마시고 잘 읽어보면 무슨 말인지 알겁니다. 전...귀찮으니까-_- defaultLocation만 건드리겠습니다. 기본 폴더가 좀 짜증나는 경로라..-_- 뭐..실제 사용자는 설치폴더를 볼 일이 잘 없겠지만... 그래도 깔끔한게 좋잖아요?
기본으로 설정되는 폴더는
c:\program files \ 제조사명 \ 프로그램명
이딴식입니다-_-...으음...전 제조사도 아닐 뿐더러...제가 만든 응용프로그램을 두 가지 이상 설치할 필요도 없기 때문에...그냥 아래와 같이 간단하게 줄이도록 하겠습니다.
2번창에 우측클릭 > add > file
그럼 파일을 불러올 수 있습니다. 만들어놓았던 exe파일을 추가합니다.
(보통프로젝트 폴더의 debug나 release 폴더에 들어있죠?)
전 프로젝트 명을 처음에 Login이라고 만드는 바람에..(물론 고칠 수도 있었겟지만-_-;;) Login.exe라는 이름의 실행파일이 생성되었더군요-_-;;;;;(여기서 제가 만든 응용프로그램에서 최초로 제작된 폼이 로그인 폼이라는 것을 알 수 있겠군요-_-)
아무튼.. Login.exe파일이 추가되었습니다. 그런데...mysql.data.dll 파일도 추가되었군요.
제가 했냐구요? 아니요!-_-;;
여기서 제가 VS2008을 이용해 배포용 설치 패키징을 하는 이유가 나타납니다. 이 녀석은... 외부 리소스로 사용된 dll파일따위를 지가 알아서 찾아서 추가, 등록 시켜준다는거죠!!
전 mysql과 C#을 연동하기위해 resource에 mysql.data.dll파일을 추가했거덩요...
와우! 놀랍지않습니까?
7. 놀란가슴 진정시키고, Login.exe파일의 바로가기를 만들어주세요, 이 바로가기아이콘을 바탕화면과 프로그램 메뉴에 등록시킬겁니다.
실행파일 우클릭 > create shortcut to 실행파일
8. 그리고...이름이 마음에 안드니까... 맘에 드는 이름으로 바꿔주세요 전 회사 이니셜을 따서 HW Manager라고 이름을 지었습니다.
9. 그리고 이 녀석을 User's Desktop으로 드래그/드롭 해 주세요. 그러면 바탕화면에 등록되는겁니다.
쉽죠?
10. 그리고 아까 파일등록했던 방식 그대로 아이콘도 하나 등록합니다. 전 간단하게 아이콘을 하나 만들어서 가져왔습니다. 웹상에서 간단하게 아이콘을 만들 수 있거든요(관련 글 아래)
1번창:User's Desktop -> 2번창:HW Manager ->3번창 Icon
12. 아이콘을 불러옵니다. Browse해 주세요...캡쳐가 잘못되어서 None에 가 있군요-_-
아까 아이콘을 application folder에 넣어놨잖아요? 그걸 불러오는겁니다.
폴더안으로 찾아가니 아까 추가한 아이콘이 있네요^^
(favicon이라는 이름은...웹상에서 아이콘을 만들었을 때 자동으로 주어지는 이름입니다..;;아아..귀차니즘이여..)
자. 이제 끝났습니다. 빌드하십시오!!!
물론 바탕화면과 프로그램 메뉴에 바로가기가 등록되겠지요
그리고 제어판-> 프로그램 추가/제거 메뉴에 들어가시면 설치한 프로그램이 보입니다.
즉, 삭제하고싶으실 땐 프로그램 추가/제거 하시면 되는겁니다^^
'자기전엔 전기전자 > ZUN장군의 허접 C# 강좌' 카테고리의 다른 글
| C#에서 DEFINE 사용하는 방법 (0) | 2010/11/19 |
|---|---|
| C# 세자리 마다 콤마(,) 찍는 함수 (1) | 2010/09/14 |
| VS2008 C# 응용프로그램 배포버젼(설치버젼) 만들기 (0) | 2010/09/11 |
| VS2008에서 C# .netframework3.5와 함께 배포하는 법(MSDN) (0) | 2010/09/10 |
| 디버깅 오류: "잘못된 크로스 스레드 작업: '컨트롤 이름' 컨트롤이 자신이 만들어진 스레드가 아닌 다른 (0) | 2010/05/27 |
| C#] Timer를 이용한 스톱워치(stopwatch) 만들기 (0) | 2010/05/16 |
| 리치텍스트박스(richTextBox)에서 한 줄씩 읽어오기 (0) | 2010/05/12 |
| C# usb 시리얼포트 찾기(콤보박스에 자동 추가) (0) | 2010/05/06 |
| MS VisualStudio 2010 무료다운로드(DreamSpark) (0) | 2010/04/24 |
| C#, serialport에서 바이트 수신 시 무한루프에서 빠져나오는 방법 (0) | 2010/03/26 |
| unsigned long의 크기 (1) | 2010/03/22 |


