Visual Studio를 사용하여 간편하게 설치파일을 만드는 방법에 대해서 알아보자.
인트톨팩토리나, 인스톨 쉘드를 사용하면 조금 더 복잡한 과정이 필요하지만..
아래 방법을 사용하면 손쉽고 간편하게 간단한 설치파일정도는 만들 수 있다.
우선 자신이 설치 및 배포파일을 만들고자 하는 프로젝트를 열고
파일 -> 추가 -> 새 프로젝트 순서데로 따라가면 아래와 같은 화면이 나온다.
여기서 기타 프로젝트 형식 -> 설치 및 배포 템플릿은 설치 플젝트로 선택한다.
CAB은 Mobile장치의 설치파일이므로 WinApp개발자라면 그다지 알 필요는 없다.
프로젝트 명을 입력하고, 확인을 클릭한다. (필자는 라크슈미라고 입력하겠다.)
그러면 아래와 같이 솔루션 탐색기에 새로운 프로젝트가 하나 더 생성된 것을 알 수 있다.
여기서 그림과 같이 생성된 새 프로젝트에서 마우스 우클릭 후 추가 -> 프로젝트 출력으로 간다.
그러면 아래와 같은 대화상자가 뜨는데, 여기서 기본출력을 선택하고 확인을 누른다.
그러면 아래처럼 기본출력(활성)이라는 내용이 솔루션 탐색기에 새롭게 등장한다.
여기까지 됬다면 잘하고 있는 것이다.
그리고 여기서 보면 3개의 mdb파일이 추가되어있는데 여러분에게는 없는 파일이다.
mdb는 데이터 베이스와 관련된 파일로써 필자의 개인적인 용도로 추가된 것들이다.
여기보이는 mdb파일들은 설치파일을 사용해서 설치시 함께 설치되어질 파일들이다.
이것 외에도 프로그램 사용 메뉴얼 등도 이처럼 포함시킬 수 있을 것이다.
자.. 그럼 필요한 파일들을 어떻게 추가하는지 알아보자.
아래 그림처럼 설치 및 배포프로젝트에서 마우스 우클릭 -> 보기 -> 파일시스템을 선택한다.
그러면 오른쪽의 메인 Viewer에 파일시스템창이 생성되면서 편집을 할 수 있다.
아래 그림처럼 응용 프로그램 폴더 -> 추가 -> 파일을 선택한다.
추가하기 원하는 파일은 선택한 후 열기를 누른다.
그러면 자신이 추가하고자 하는 파일이 솔루션 탐색기에 추가된다.
이 정도 했다면 어느정도 설치파일이 완성되어 간다.
이제 설치파일에 버전을 부여하여, 이전버전이 설치되어있다면 삭제하고, 새로 설치하는 것을 설정해보자.
아래 그림의 속성창에서 속성과 설명을 주의깊게 읽어보도록하자.
여기서 RemovePreviousVersions에 대한 속성을 True로 하면 이전버전을 제거한다.
그리고 아래 Version 속성을 설정하여 버전을 부여할 수 있다. 높은 버전이 우선순위가 있으므로 업데이트된 내용이 있다면
설치파일의 버전도 더욱 높게 설정해야 한다. 이전의 버전으로 돌리고 싶다면..
백업해둔 설치 및 배포프로젝트에 버전만 높게 부여하여 설치하면 이전의 버전으로 돌아가는 기능을 구현할 수 있다.
주의할 점은 버전은 x.x.x의 형식으로만 부여할 수 있다는 점이다.
마지막으로 자신의 프로젝트에서 필요에 의하여 사용한 구성요소에 대한 설치를 알아보자.
기타 컴포넌트들을 추가하여 사용하고, 배포할 때 이에 필요한 내용을 함께 배포해주지 않으면
프로그램이 실행되지 않거나, 정상적으로 작동하지 않을 수도 있으니, 확인 후 아래 내용을 참고로하여 자신에게 맞는 구성요소들도 함께 설치파일에 추가하도록 하자.
자신이 구현한 프로젝트에서 .net 구성요소 혹은 DB를 사용하는데 필요한 MDAC등을 사용했다면..아래 과정이 추가되어야 한다. 침착하게 따라해보자.
동일하게 솔루션 탐색기에 보이는 설치 및 배포프로젝트에서 마우스 우클릭 -> 속성을 클릭한다.
그러면 대화상자가 하나 등장하는데 여기서 필수구성요소를 클릭하면 아래와 같은 화면이 등장한다.
여기서 필자는 .NET Framework 2.0과 MDAC 2.8 을 추가했다.
MDAC는 필자의 프로그램에서 mdb파일을 다루고 있어서 추가하였다. 여러분에게 맞는 구성들을 추가하고
대화상자의 하단으로 시선을 옮기면, 3가지 요소가 보이는데..
여기서 2가지만 알면된다.
구성 요소 공급업체의 웹 사이트에서 필수 구성 요소 다운로드를 선택하고 확인을 누르면..
설치파일은 설치시 필요 구성요소가 있는지 없는지 확인하고, 자동으로 구성요소를 다운로드하여 설치한 후 설치를 시작한다.
그러나 내 응용 프로그램과 동일한 위치에서 필수 구성 요소 다운로드를 선택하면
설치파일과 함께 구성요소 설치에 필요한 내용들이 배포된다. 이 점을 알아두고 다음 과정으로 넘어가자.
필자는 두번째는 선택하여 따로 다운로드가 필요없이 설치파일과 함께 배포되도록 설정하였다.
모두 했으면 확인을 클릭한다.
자 그러면 여기서 배포하기를 원하는 프로젝트 (실제로 코드가 구현된 프로젝트)를 먼저 빌드하도록 한다.
그리고 설치 및 배포 프로젝트를 빌드한다. 빌드하는데 시간이 어느정도 소요되므로 차분하게 기다리도록한다.
빌드가 완료되면 설치 및 배포 프로젝트를 생성했던 폴더의 Debug폴더로 이동해보자.
그러면 아래와같이 파일과 폴더들이 생성되었을것이다.
여기서 생성된 폴더를 좀 전에 우리가 추가한 구성요소 설치에 필요한 설치파일이므로, 배포시 함께 배포하도록 한다.
필수구성요소 추가시, 필수 구성요소 설치 위치를 첫번째인 해당 회사의 웹에서 다운로드 하는 것으로 선택하면 이런 폴더는 생성되지 않는다.
여기까지 함으로써 간단하게 Visual Studio 2005를 사용해서 설치파일을 만들어 보았다.
이제 생성된 내용을 배포하여 Setup파일을 실행하면 정상적으로 설치가 되는 것을 확인 할 수 있을 것이다.
---------------------------------------------------------------------
여기까지가 기본적인 사항이다.
더욱 세심하게 설치파일을 만들고 싶다면 아래 내용을 참고하면 되겠다.
C# MVP 엄준일님 블로그 - 설치프로젝트 이용한 배포파일 만들기
(아래 동영상에서는 기본적인 설치 프로젝트를 제작하고, 설치 시작/커밋/롤백/제거 시에 어셈블리를 호출하여 특정 동작을 수행하는 방법을 소개합니다.)
[웹케스트] 설치 프로젝트를 이용하여 배포하기 #1
----------------------------------------------------------------------------------
MSDN: http://msdn.microsoft.com/en-us/library/wtzawcsz(VS.80).aspx
* 이하 위 원문에서 가장 많이 쓰이는 부분 번역
1. 바로 가기 아이콘 추가
File System->Application folder(응용 프로그램 폴더)에서 바로 가기 아이콘을 추가하기 원하는 파일 선택 -> 마우스 우측 클릭 -> Create Shortcut to xxxx (바로 가기 만들기) 선택 -> 만들어진 바로 가기를 드래그 드랍해서 사용자 바탕 화면(User's Desktop)으로 이동.
그러면 바로 가기가 User's Desktop 안에 생긴것을 알수 있는데 적절한 이름으로 고쳐준다. 이 이름이 바로 설치가 완료되었을때 사용자의 바탕화면위에 나타날 "바로 가기" 이름이다.
2. 아이콘 추가
기본값으로 아이콘이 설정되어 있지 않으므로 원하는 아이콘 파일을 File System -> Application Folder안에 복사해 넣고, 속성->Icon으로 가서 Browse를 선택한후 이미 복사해둔 아이콘 파일을 선택한다.
3. 설치 경로 설정
File System->Application folder(응용 프로그램 폴더)의 속성 선택해서 DefaultLocation의 값을 변경시켜준다. 기본값은 "[ProgramFilesFolder][Manufacturer]\[ProductName]" 이다.
4. 대화 상자 추가(User Interface)
Solution Explorer에서 View ->User Interface 선택하면 설치 과정에서 쓰일 여러가지 대화 상자를 볼수 있다. 만약 또 다른 대화 상자를 추가하고 싶다면 Add Dialog를 이용해서 할수 있다.
5. OS 버전에 따른 조건부 설치
특정 OS 버전에 따라 특정한 파일을 설치하거나 설치하고 싶지 않다면 그 파일(File System -> Application Folder)을 찾아 Condition 속성을 바꾸어 준다. (i.e. Windows XP 이상에서만 설치하고 싶다면 "VersionNT >= 501")
6. 설치에 필요한 Microsoft 프로그램(i.e. .NetFramework 2.0, Visual C++ Runtime Libraries, etc.)도 같이 배포하고 싶다면 Solution Explorer -> 마우스 우측 클릭 ->Properties -> Prerequisties.
여기서 설치에 필요한 파일들을 선택할수 있고, 또한 어디서 그 파일들을 구할수 있는지 설정할수 있다. 만약 두번째 옵션인 "응용 프로그램과 같은 로컬 경로(Download prerequistites from the same location as my application)"을 선택하면 빌드시 별도의 폴더가 설치 실행 프로그램과 함께 생성된다.
7. 특정한 설치 시작 조건
만약 설치를 하기 위해 특정한 파일이 있어야 하거나 특정한 레지스트리 값이 일치해야 한다면, Solution Explorer에서 View->Launch Condition을 이용하도록 한다.
8. 특정한 파일 확장자에 특정한 프로그램이 실행되도록 하려면
Solution Explorer에서 View->File Types->Add File Type를 통해 원하는 파일과 확장자를 지정하도록 한다.