설치 프로젝트가 끝나면 실행 파일을 실행하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/60565

  •  09-06-2019
  •  | 
  •  

문제

상당히 간단한 WinForms 응용 프로그램을 설치하는 데 사용하는 Visual Studio 설치 프로젝트가 있습니다.설치가 끝나면 사용자에게 응용 프로그램을 실행할지 묻는 단일 확인란을 표시하는 사용자 정의 사용자 인터페이스 페이지가 있습니다.다른 설치 프로그램에서 이 작업을 수행하는 경우를 꽤 자주 보았습니다.하지만 설치가 완료된 후 설치 프로젝트가 실행 파일을 실행하도록 하는 방법을 찾을 수 없습니다.아이디어?

메모:사용자 지정 작업은 설치 프로세스의 일부로 사용되기 때문에 사용할 수 없습니다. 설치가 끝날 때 사용자가 '닫기' 버튼을 누르면 설치된 애플리케이션을 실행하고 싶습니다.

도움이 되었습니까?

해결책

저는 이것이 Visual Studio 설치 프로젝트의 실제 한계 중 하나라고 생각합니다.설치 UI의 마지막 페이지를 수정할 수 있어야 하지만 VS.NET에서는 이를 수행할 수 있는 방법을 제공하지 않습니다..MSI가 빌드된 후에 테이블을 수정할 수 있지만 VS.NET은 빌드될 때마다 이러한 변경 사항을 덮어쓸 것입니다.설치 프로젝트에 포함하는 병합 모듈을 사용하여 마지막 페이지를 재정의할 수 있습니다.어느 쪽이든 .MSI에서 UI 대화 상자가 작성되는 방식을 숙지해야 하며 이는 쉬운 일이 아닙니다.

무료 스크립트 기반 설치 프로그램으로 전환하거나 상업용 설정 저작 응용 프로그램을 구입하는 것이 좋습니다(Pete를 좋아하기 때문에 InstallShield를 구입하지 마십시오).InstallAware를 살펴보십시오(사용해본 적은 없지만).

다른 팁

사용자 정의 작업을 사용할 수도 있습니다

방금 외부 도구가 필요하지 않은 매우 쉬운 방법을 찾았습니다.기본 프로젝트에 클래스 파일을 추가하고 설치 프로젝트에 사용자 지정 작업만 추가하면 됩니다.

http://www.codeproject.com/KB/install/Installation.aspx

저는 설정 실행 파일을 시작하고, 닫힐 때까지 기다린 다음 두 번째 프로그램을 시작하는 VB 스크립트 하네스를 만들어 내부 앱에 대해 이 작업을 수행했습니다.

C 실행 파일에서 몇 가지 Win API 호출을 사용하여 좀 더 세련되게 이 작업을 수행할 수도 있습니다.

MSILAUNCH를 사용할 수 있습니다(MSICREATE에서만 작동하도록 했습니다).

http://www.cornerhouse.ca/en/msi.html

다음 줄을 사용하여 어셈블리의 Main 메서드를 호출하여 이를 관리했습니다.

(typeof(ClassWithinAssemblyToExecute)).Assembly.EntryPoint.Invoke(null, new Object[] {} )

사용자 정의 설치 프로그램으로 할 수 있습니다.설치 프로그램 클래스를 추가하면 설치 후, 설치 전과 같은 많은 이벤트가 표시됩니다.설치 후 연결하고 거기에서 프로세스 클래스별로 exe를 실행하십시오.맞춤 설치 프로그램에 대해 자세히 알아보려면 Google을 추천해 드리겠습니다.여기 당신에게 도움이 될 만한 좋은 링크가 하나 있습니다 http://www.codeproject.com/Articles/19560/Launching-Your-Application-After-Install-using-Vis

감사해요

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top