[C#] Setup Project (Visual Studio 2022)
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