Visual Studio 에서는 개발한 프로젝트의 설치 프로그램을 만들 수 있도록 Setup Project 기능을 제공하고 있다.
나는 Visual Studio 2017 버전을 사용했고,
C#의 WindowsForms를 이용하여 개발한 응용 프로그램을 배포하기 위한 설치 프로그램을 만들었다.
1. Visual Studio Installer 설치
1. 비주얼 스튜디오 상단 메뉴의 도구 → 확장 및 업데이트 선택
2. 좌측 메뉴에서 온라인 선택 → 검색창에 install 입력해서 검색 → 'Microsoft Visual Studio Installer Projects' 다운로드
3. 비주얼 스튜디오 프로그램 종료 후 설치 진행
2. Setup Project 생성
1. setup project를 추가할 솔루션 우클릭 → 추가 → 새 프로젝트
2. 좌측 메뉴에서 기타 프로젝트 형식 선택 → Visual Studio Installer 선택 → Setup Project 선택 → 프로젝트명 입력 후 확인
3. setup project 생성된 모습
4. 위 화면처럼 나오지 않으면 솔루션 탐색기에서 생성한 setup project 우클릭 → View → 파일 시스템 선택하면 화면 나옴
5. 파일 시스템 화면 왼쪽에서 Application Folder 우클릭 → Add → 프로젝트 출력 선택
6. 설치할 프로젝트를 선택하고 기본 출력 선택 후 확인
7. 아래와 같이 기본 출력(실행 파일 + 기본으로 참조되는 dll파일들)이 추가됨
8. 설치할 c# 프로젝트에서 c/c++을 사용하여 만든 dll을 연동했으니 해당 dll 파일도 따 로 추가
application folder → add → file 선택
9. 파일 탐색기에서 해당 dll파일 찾아서 추가
10. c/c++ dll 파일을 참조하므로 c/c++ 런타임도 설치하도록 설정
setup project 우클릭 → 속성 → 생성되는 설치파일명 지정하고 Prerequisites... 클릭
11. '필수 구성 요소를 설치하기 위한 설치 프로그램 만들기'에 체크, 'Visual C++ "14" Runtime libraries' Target Platform에 맞춰서 체크, 다운로드 위치 체크 후 확인
12. setup project 선택하고 속성에서 Author, Manufacturer, Product Name, Target Platform 지정
13. 외부폰트(.ttf 파일)를 적용했을 시, File system on Target Machine 우클릭 → Add Special Folder → 글꼴폴더선택
14. 글꼴 폴더에 폰트 파일 추가(설치되는 PC에 자동으로 폰트도 함께 설치됨)
15. 설치되는 PC의 바탕화면에 바로가기를 만들려면 기본 출력에 마우스 우클릭 → Create Shortcut to 기본출력 from 프로젝트명 클릭
16. 만들어진 바로가기의 이름 변경
17. 바로가기를 드래그하여 왼쪽의 User's Desktop 으로 옮김
18. 바로가기에 아이콘을 설정하고싶다면 Application Folder 우클릭 → Add → 파일 → 파일 탐색기에서 원하는 아이콘 파일(.ico) 선택
19. User's Desktop 의 바로가기 선택 후 속성창에서 icon → Browse...
20. 아래 창에서 Browse... 클릭
21. 아래 창에서 Application Folder 선택 후 이전에 추가한 아이콘 파일 선택
22. User's Desktop 선택 후 속성에서 AlwaysCreate를 true로 변경
23. setup project 빌드 or 다시빌드 → 출력창에 표시되는 위치에 설치프로젝트명.msi 생성
24. 해당 위치에 '설치프로젝트명.msi' / 'setup.exe' 생성됨
(둘 중 아무거나 선택해서 설치하면 되지만 'setup.exe'를 실행하려면 같은 위치의 '설치 프로젝트명.msi'가 필요하므로, 배포할땐 '설치프로젝트명.msi' 하나만 배포하는것이 편함)
3. 설치 후 실행파일 실행이 제대로 되지 않을 때
- Application Folder에 SQLite.Interop.dll 파일이 있는지 확인 → 없다면 추가
- c# winform 프로젝트가 기본으로 참조하는 dll파일이며, winform 프로젝트 폴더 의 실행파일과 같은 경로에 위치 or 실행파일 근처?의 target platform(ex. x64) 폴더에 위치함
- vcruntime140d.dll / ucrtbased.dll / mfc140ud.dll / msvcp140d.dll 파일이 있는 지 확인 → 없다면 추가
- c/c++ 사용하여 만든 dll 파일의 dependency dll 정도로 생각하면 됨
'DevTools' 카테고리의 다른 글
[IntelliJ] Cannot resolve symbol 'String' 오류 (0) | 2021.03.31 |
---|---|
[Eclipse] Spring Boot - pom.xml 첫 줄 에러 (0) | 2021.03.19 |
[Eclipse] Implicit super constructor Object() is undefined for default constructor 오류 (0) | 2021.02.24 |
[Eclipse] Github Push / rejected-non-fast-forward 에러 (0) | 2021.02.06 |
[Eclipse] The import javax.servlet cannot be resolved 에러 (0) | 2021.01.26 |