본문 바로가기

DevTools

[Visual Studio] Setup Project 생성/배포하기(외부 폰트 포함)

반응형

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 정도로 생각하면 됨
반응형