최근에 WPF 앱을 배포하는 방법을 알아보면서 ClickOnce와 InstallShield에 대해 검토하게 되었다.
데스크탑앱 배포 방식(엄청 많다;;)
ClickOnce
ClickOnce를 쓰면 특정 웹 페이지에 파일을 배포하는 방식이나, 디스크에 설치 파일을 배포할 수 있다. 파일 서버를 연동하여 웹에 설치할 수 있다고 한다. 배포하면 application 파일과 setup.exe 파일이 나오는데 하나의 파일로 만드는 것은 어렵다는 의견이 많다. 스크립트를 작성하여 하나로 묶고, 압축을 푸는 것도 가능하다는 이야기도 있다.
ClickOnce 사용 방법
https://luvris2.tistory.com/635
ClickOnce는 여러 파일이 같이 나온다. (exe 파일 하나만 나오는 형태가 아니다.) 안 된다는 의견도 있고 따로 코드를 작성해야 한다는 내용도 있다.
https://stackoverflow.com/questions/21522879/creating-single-setup-file-using-clickonce
해당 의견에 따르면 싱글 파일로 생성하지 못한다고 한다. 다만 아카이브 방식을 통해 압축하고 푸는 방식을 제공한다. 싱글 파일 생성을 체크해도 안 된다.
https://stackoverflow.com/a/77097287
You may find various custom installers that may embed everything into a single setup.exe file. For example, you may take a look at InstallShield or Advanced Installer .
https://stackoverflow.com/a/58291545
ClickOnce 구조
https://stackoverflow.com/questions/33531363/distributing-files-of-a-clickonce-application
https://stackoverflow.com/questions/77093603/clickonce-does-not-produce-one-single-wpf-app-file
Windows Installer
Windows Installer를 사용하면 클라이언트에 쉽게 배포하고 실행할 수 있는 자체 포함 실행 파일로 애플리케이션을 패키지할 수 있다. 또한 Windows Installer는 Windows와 함께 설치되며 바탕 화면, 시작 메뉴 및 프로그램 제어판과 통합할 수 있다. Windows Installer에서는 애플리케이션의 설치 및 제거가 간단하지만 설치된 애플리케이션이 버전 관리 관점에서 최신 버전으로 유지되도록 보장하는 기능은 제공하지 않는다.
Windows Installer 사용방법
InstallShield
인스톨실드(InstallShield)는 소프트웨어 설치 프로그램 제작 소프트웨어이다. 파일 압축 설치, 설치 비밀번호, 분할 설치, 시리얼 설치 등을 할 수 있는 프로그래머들을 위한 강력한 소프트웨어이다. 경쟁 소프트웨어로는 WISE Install Master가 있다.
https://ko.wikipedia.org/wiki/%EC%9D%B8%EC%8A%A4%ED%86%A8%EC%8B%A4%EB%93%9C
과거 인스톨쉴드는 제한된 버전을 통해 무료로 사용할 수 있었던 것으로 보이나, 현재 유료 서비스로 변경되었다. (3년 구독형 기준, 1년에 약 200만원)
https://www.revenera.com/install/products/installshield/pricing
인스톨쉴드에서 제공하는 소프트웨어에선 이런 부분들을 제어할 수 있다. (다른 기능들도 더 있다)
1. 배포할 파일을 추가
2. 배포할 위치를 변경
3. 바로가기 항목을 생성하고 아이콘을 변경
4. 프로그램 실행에 필요한 prerequisites 프로그램 추가
prq 파일을 추가하여 installer 경로 및 exe 파일을 추가하면 된다.
5. 다이얼로그 수정 및 이벤트 제어
도규먼트(안 친절함)
결론
윈도우 데스트탑 앱을 배포하는 방법은 정말 다양하다. Windows Installer/ClickOnce 같은 MS에서 제공하는 툴을 사용할 수도 있고 InstallShield나 NSIS, Wix 이것저것 정말 많다...
사실 어떠한 방법으로 배포해도 크게 상관없는 것 같기는 한데, 실행파일이 하나로 나오는 형태를 선호한다면 clickOnce는 아닌 것 같다. InstallShield는 간단하게 쓰는 느낌이 아니고 기능도 많다. 라이센스 비용도 내야 하고... 무난하게 고른다면 Windows Installer로 개발할 것 같다. 다양한 배포 방법이 있는 만큼, 적절한 툴을 사용하는 것이 좋을 것으로 보인다.
'프로그래밍 > Desktop App' 카테고리의 다른 글
[시스템 프로그래밍] 스케줄링과 쓰레드 (1) | 2023.12.03 |
---|---|
[시스템 프로그래밍] 프로세스와 컨텍스트 스위칭 (1) | 2023.12.03 |
[시스템 프로그래밍] 컴퓨터 구조 (0) | 2023.12.03 |
응용 프로그램 코드 사인 방법(간단한 조사) (1) | 2023.11.19 |
[C#] WinForm VS WPF (0) | 2023.11.13 |
댓글