WPF를 사용한 Self-extracting 파일 생성 앱에 대한 조언을 부탁드립니다.

안녕하세요.
프로그램은 WPF로 구현할 예정이고, 하기 기능을 구현할 수 있는 라이브러리나 방법에 대한 조언을 부탁드립니다.

  1. Self-extracting exe 파일 생성.
    • 소스 폴더 선택
    • Export 폴더 선택
      *단순 exe가 아니라, 하기 작업을 수행 가능한 exe 입니다.
  2. 최종 사용자가 exe 클릭시, wizard에서 다음 작업을 수행합니다.
    • 라이센스 동의
    • 압축 해제 폴더 지정

1)에 대해서는 7zip을 사용하면 간단하게 exe 파일을 만들 수 있지만 Windows Installer 혹은 Visual Studio Installer 같은 인터페이스 설정이 필요합니다. 예를 들어, Visual Studio Installer경우는 별도의 Setup App 프로젝트를 생성하고 이를 활용해서 관련 항목을 추가하여 패키징합니다. 하지만 위 계획처럼 하나의 프로젝트에서 Windows Installer 같은 인터페이스를 어떻게 구현해야 할지 조언이 필요합니다.

참고로, 관련해서 자료를 찾다가 제가 최종적으로 구현하고자 하는 최종 파일과 유사한 파일을 찾았습니다. 참고로 파일 용량이 1G가 됩니다. 파일을 다운로드하시고 실행하시면 마치 윈도우앱을 설치하는 것 같은 인터페이스를 보실 수 있습니다.

예시와 같은 파일을 생성하기 위해서 라이브러리나, 고려해야 할 점이나, 방향에 대한 조언을 부탁드립니다.

3개의 좋아요

image
OUTPUT 바이너리를 MSI로 묶어서 설치하는 Windows Installer 프로젝트 구성외에 더 필요한게 있다는 말씀이신걸까요?
참고: https://www.youtube.com/watch?v=GaYKwN5Fp1g
이 영상이 좀더 상세하네요.
https://www.youtube.com/watch?v=mTkh3sgh6tI

3개의 좋아요

댓글 남겨주셔서 감사합니다.

공유해주신 자료는 Visual Studio Installer를 사용해서 Setup 프로젝트를 대상 프로젝트를 패키징하는 방식입니다. 제가 구현하고자 하는 방식은 별도의 setup 프로젝트를 생성하지 않고, 기본 프로젝트에서 코드나 라이브러리 혹은 타 설정으로 한번에 exe 파일 생성 방법입니다.

2개의 좋아요

ClickOnce도 아닌 방식을 의미 하시는거죠?

2개의 좋아요

네. 그렇습니다. 제가 본문에 공유드린 예시 파일을 보시면 더 이해가 되실 거 같으세요.
UI가 Visual Studio Installer와 ClickOnce와 다릅니다. 예시 파일 같은 방식으로 구현하고 싶습니다.

2개의 좋아요

하나의 프로젝트에서 라는 조건이 흥미롭네요. 왜 그래야 하는지를 여쭤 볼 수 있을까요?

Inno Setup 등의 설치 프로그램(관리자)를 이용하면 원하는 목적은 달성하실 수 있을텐데, Visual Studio Installer이외의 방법을 조사하시면서 이미 아시는 내용 같기도 하고요,

또는 Squirrel.Windows을 이용해서 배포본을 하나의 프로젝트로 관리가 가능할 것입니다. 다만 이 프로젝트는 2020년 이후로 관리되고 있는지는 확인을 하지 못했습니다.

만약 .NET Framework을 사용하신다면 한번 도전해보실 만합니다.

문서

Getting Started Guide

3개의 좋아요

예시 파일은 Windows Installer UI로 구성 가능할 것 같은데 어떻게 다른 것인지는 모르겠네요. :disappointed_relieved:
Windows Installer 외에는 국내 보편적으로 쓰는 NSIS(https://nsis.sourceforge.io/Download)도 있습니다.
말씀하신 것처럼 다양한 UI로 구성 가능하고, 레퍼런스도 많으실꺼에요.
UI는 이런식이에요.
https://kjun.kr/1042

4개의 좋아요

댓글 감사드립니다. 하나의 프로젝트 라는 부분이 어쩌면 저의 무지와 욕심인지 모르겠습니다.

제가 생각하는 방향은 '패키지 작업자들이 여러 파일이나 폴더가 있는 폴더를 구성하고, 앱을 실행해서 소스폴더와 아웃풋 폴더를 지정하면 UI가 포함된 exe 파일을 생성’하는 것입니다. 그래서 '하나의 프로젝트’로 생각하였는데, 하나의 솔루션에 두가지의 프로젝트로 다시 한번 생각해야 할 것 같습니다.

@dimohy 님이라면, 예시 파일을 최종적으로 구현할 경우 어떻게 구현하실지 문의드려도 될까요? 매번 잘 관리된 회사의 Installer 를 볼 때마다 Visual Studio Installer 보다 깔끔한 인터페이스를 보여주는데, 이와 관련된 별도의 라이브러리가 있을까요? 부족한 부분이 많아서 질문이 많아 지는 것 같습니다…

1개의 좋아요

@nyjin 자료 감사합니다. Inno Setup과 유사한 방식이네요. 제가 하나의 프로젝트에서 진행을 하려고 하다보니, 너무 제한점을 안고 문제를 바라보는 것 같습니다. 공유주신 자료를 보고 방법을 좀 더 고민해보겠습니다. 감사드립니다.

2개의 좋아요

저는 Inno Setup을 사용합니다. 설정 파일 구성이 나름 쉽고 좀 더 쉽게 구성할 수 있는 UI 프로그램도 제공하고 있어서 그것을 사용하고 있고요, 빌드 과정에 포함하기도 쉬워서 그렇게 사용하기도 합니다.

또는 위 글에 공유드린 것도 한번 살펴보세요.

3개의 좋아요

말씀 감사합니다. 공유주신 정보와 자료를 검토 후 어떻게 할지 Follow up 을 공유드리겠습니다.

1개의 좋아요

기존 계획으로는 WPF와 외부 라이브러리를 사용해서 Self-extracting exe 파일과 사용자 인터페이스를 담을 수 있는 앱을 만들려고 하였는데, 결국 결정한 방법은 Script을 통해서 대부분의 컨텐츠 수정이 가능하기 때문에 Inno Setup을 커스텀하는 방법으로 갈 것 같습니다.

의견 주신 모든 분들, 감사드립니다!

4개의 좋아요