비주얼 스튜디오 인스톨러 프로젝트를 작성시 바로가기 만들기에 대한 질문

WPF 프로그램을 만들고, 비주얼 스튜디오에 인스톨러 확장을 설치하여 인스톨러를 만들려 합니다.

Application Folder에 게시 항목을 넣고, 바탕화면과 시작 메뉴에 바로가기를 만들려고 했는데 실행파일을 지정할 수 없습니다.

그래서 프로젝트를 분리해서 어셈블리와 실행파일을 따로 출력하니 어셈블리가 맞지 않는다는 에러가 발생하고요.

저와 같은 경험이 있는 분들은 어떻게 하셨는지 궁금합니다.

.NET Core 또는 .NET 5의 올바른 출력을 얻으려면 기본출력 대신 Publish Items을 선택해야 한다고 합니다.

아래 글을 참고해보세요.

답변 감사드립니다.

스크린샷에서 선택한 것이 Publish Items입니다. 근데 그 경우에는 바로가기로 선택할 수가 없더군요. Primary Output을 선택하면 디펜던시 없이 실행파일만 추가되고…

현재 닷넷 프레임워크 4.7.2에서 작업을 하고 있는데 닷넷 코어로 변경해서 다시 한번 해볼 생각입니다.

.NET Framework 4.7.2로 기본 WPF 프로젝트를 생성 후 인스톨러 프로젝트를 추가해 간단히 구성해봤습니다.

image

첨부된 사진처럼 바탕화면에 바로가기가 잘 등록이 됩니다. 설치후에도 바로가기로 프로그램이 잘 실행되는걸 볼 수 있었습니다.
프로젝트를 추가하자마자 구성한 거라 박민영님과 차이점이 없어보이는데… 알수가 없네요.

네, 기본출력 시에는 바로가기를 만들 수 있는데요, 근데 그 경우에는 exe 파일과 config 파일만 출력이 되고 참조 어셈블리는 포함이 되지 않습니다.

종속성까지 모두 인스톨러에 포함하려면 Publish Items(게시 항목)을 선택해야 하는데, 그때 바로가기를 생성할 수 없어서 여쭤본 것이었습니다.

신기합니다. .NET Framework 4.7.2로는 저는 게시 항목을 Add 할 수가 없네요.
콘텐츠의 경우 콘텐츠 파일로, 어셈블리의 경우 로컬에서 복사된 항목을 추가하면 되는 것 같습니다. 자세한건 Output 속성을 통해 제대로 포함되었는지를 확인할 필요가 있습니다.

위에 적지 않았는데, 작업중인 .NET Framework 프로젝트는 SDK 스타일로 작성되어 있습니다.
(.NET Core 3로 했다가 추가로 설치를 요구하게 하고 싶지 않아서 TargetFramework만 수정했는데 빌드되길래 그대로 작업중)

집에 와서 테스트를 해봤습니다.

  1. 처음부터 .NET Framework 프로젝트로 작성을 하면 [게시 항목]이 나타나지 않습니다.
  2. SDK 스타일 프로젝트로 작성시에는 [게시 항목]이 나타납니다.
  3. 실행 프로젝트에 종속성이 없는 경우 [게시 항목]에 바로가기를 만들 수 있습니다.
  4. 종속성이 있는 경우 단일 파일 출력 설정을 하더라도 바로가기를 만들 수 없습니다.

아무래도 제가 원하는 형태가 되려면 기존 스타일 프로젝트를 만들고, 종속성을 설치 프로젝트에 수동으로 추가하는 작업을 해야할 것 같습니다. SDK 스타일 프로젝트가 읽기도 쉽고 간단해서 좋았는데 좀 아쉽긴 하네요.

도움 주셔서 감사드립니다.

좋아요 1

안녕하세요. 저도 비슷한 문제로 바로가기가 만들어질때도 있고, 아닐때도 있어서
원인을 못찾고 결국 installer 클래스 하나 만들어서 해결했었습니다…
특히 윈도우 버전따라 환경따라 재각각이라서 사용을 안하게 되더라구요.

저는 .net framework 4.0으로 개발했었습니다.