프로그래밍/C#

[C#] Setup Project (Visual Studio 2022)

IT 기술자 2023. 11. 21. 11:00

0. 개요

인스톨프로젝트를 만들어 배포파일(msi) 파일을 만들자.

 

1. Microsoft Visual Studio Installer Projects 2022  확장 설치

Visual Studio > 메뉴 > 확장 관리를 클릭한다.

 

확장 관리 팝업창 나타난다.

검색 텍스트박스에 install를 입력하면 목록이 갱신된다.

Microsoft Visual Studio Installer Projects 2022를 다운로드 버튼을 눌러 설치한다.

잠시 후 Visual Studio를 종료하면 설치한다는 메시지가 나온다.

Visual Studio를 종료하면 설치창이 나타난다.

설치가 끝나면 Visual Studio를 다시 시작한다.

 

2. SampleApp 프로젝트를 만들자

새 프로젝트 만들기 > Windows Forms 앱 (C#)

프로젝트 이름 : SampleApp

프레임워크 : .Net 7.0 (표준 용어 지원)

만들기 버튼 클릭

 

3. Debug, Release 버전 파일 추가

새 항목 추가 팝업창에서 텍스트 파일을 선택하고 이름 : SampleApp.ini를 입력한다. 추가 버튼을 누른다.

새 항목 추가 팝업창에서 텍스트 파일을 선택하고 이름 : SampleApp_release.ini 를 입력한다. 추가 버튼을 누른다.

 

- 프로젝트 폴더 > SampleApp.ini  ( Debug 용)

    - 속성 > 고급 > 출력 디렉터리로 복사 : 새 버전이면 복사

[SampleApp]
Mode=Debug

 

- 프로젝트 폴더>SampleApp_release.ini  ( Release 용)

    - 속성 > 고급 > 출력 디렉터리로 복사

[SampleApp]
Mode=Release

 

4. 빌드 후 이벤트 설정

프로젝트에서 마우스 오른쪽 버튼을 눌러 나오는 팝업메뉴에서 옵션을 선택한다.

 

프로젝트 속성창이 나타난다.

  - 프로젝트 속성창 > 빌드 > 이벤트 > 빌드 후 이벤트에 SampleApp_release.ini를 SampleApp.ini에 덮어씌우는 코드를 넣는다.

if $(ConfigurationName) == Release (
copy "$(SolutionDir)$(TargetName)\SampleApp_release.ini" "$(TargetDir)\SampleApp.ini"
)

 

5. 패키지 버전 설정

  - 프로젝트 속성창 > 패키지 > 일반 > 패키지 버전에 버전값을 입력한다.

0.5.0

 

4. 솔루션에 Setup Project 추가

새 프로젝트 추가 > Setup Project

프로젝트 이름 : SampleAppSetup

프로젝트 속성 창

Author : 회사명

Manufactorer : 회사명

ProductName : SampleApp

RemovePreviousVersions : True

TargetPlatform : x64

Title : Sample App

Version : 0.5.0

 

5. 파일 추가

파일 시스템 View > File System on Target Machine > Application Folder

- 오른쪽 영역에서 마우스 오른쪽 > 팝업 메뉴 > Add > 프로젝트 출력(P)...

프로젝트 출력 그룹 추가 팝업 창에서 

프로젝트(P) : 드롭다운에서 프로젝트 선택 (SampleApp)

확인 버튼을 누른다.

 

- 게시 항목 from SampleApp (Active)에서 마우스 오른쪽 > 팝업 메뉴 > Create Shortcut to 게시 항목 from SampleApp (Active)

Name : SampleApp으로 변경

File System on Target Machine > User's Desktop 폴더로 드래그드롭 하여 이동

 

- 오른쪽 영역에서 마우스 오른쪽 > 팝업 메뉴 > Add > File

SampleApp_release.ini 파일 선택

SampleApp_release.ini 파일 속성 > TargetName : SampleApp.ini로 변경

- 게시 항목 from SampleApp (Active) 속성창 > ExcludeFilter

Filter 창에서 Add Filter... 버튼을 누르고 New filter: 에 SampleApp.ini를 입력한다.

OK 버튼

OK 버튼

 

6. 프로젝트 속성 페이지

SampleAppSetup 프로젝트에서 마우스 오른쪽 > 팝업 메뉴> 속성

SampleAppSetup 속성 페이지 > Prerequisites... 버튼 클릭

 

설치할 필수 구성 요소 선택

Microsoft .Net Framework 4.7.2(x86 및 x64) : 체크 해제

.Net 데스크톱 런타임 7.0.12 (x64) : 체크

확인 버튼을 누른다.

 

출력 파일에 버전이름을 넣어준다.

구성(C) : Release

Output file name: Release\SampleAppSetup_0_5_0.msi

확인 버튼을 누른다.

 

7. 빌드

Visual Studio를 Release 모드로 수정한다.

 

SampleAppSetup 프로젝트에서 마우스 오른쪽 > 팝업 메뉴> 빌드 (또는 다시 빌드)

Release 폴더에 SampleAppSetup_0_5_0.msi 파일이 생성된다.

 

8. 예제 소스

https://github.com/humanjc/SampleApp

 

GitHub - humanjc/SampleApp: C# Setup Project example

C# Setup Project example. Contribute to humanjc/SampleApp development by creating an account on GitHub.

github.com