2010-08-13 5 views
0

alo 모두.WiX 무조건적으로 응용 프로그램 실행

내 문제는 두 가지입니다. WiX 프로젝트에 대한 작업을하고 있으며, 사용자가 취소를 눌러도 설치가 중단되고 (이미 존재하는 버전을 통해) 또는 사용자가 성공적으로 설치를 완료했는지에 관계없이 프로그램 실행을 수행하도록해야합니다.

내가 현재 사용하는 내장 diaglog 시스템 :

<UIRef Id="WixUI_InstallDir" /> 

나는 현재이 완료 설치 한 후 응용 프로그램을 실행하기에 매우 성공적이었다. 응용 프로그램이 설치 프로그램과 동일한 위치에 있기 때문에 어려움이 있었으며 그 위치가 어디인지 보장 할 수 없습니다. 따라서 설치가 성공적으로 완료된 후 다음 방법을 사용하여 프로그램을 실행했습니다.

<InstallExecuteSequence> 
    <Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom> 
    <RemoveExistingProducts After="InstallInitialize" /> 
    <Custom Action="PropertyAssign" Before="InstallFinalize">NOT Installed</Custom> 
    <Custom Action="LaunchFile" After="InstallFinalize">NOT Installed</Custom> 
</InstallExecuteSequence> 


    <CustomAction Id='PropertyAssign' Property='PathProperty' Value='[SourceDir][DRIVEREXEC]' /> 
    <CustomAction Id="LaunchFile" Property="PathProperty" ExeCommand='/S' Return="asyncNoWait" /> 

두 개의 사용자 지정 작업은 설치가 끝난 후 응용 프로그램을 실행하는 데 사용됩니다. 이 때문에 프로그램이 존재할 때 두 개의 사용자 지정 작업을 할당 할 수 없습니다. OnExit = "오류"는 두 개의 사용자 지정 작업이 동일한 설정을 가질 때 예외를 throw합니다.

위치는 알 수 없지만 설치 프로그램의 동일한 디렉토리에있는 것으로 가정하는 응용 프로그램을 무조건 실행하는 방법은 무엇입니까?

나는 시간 내 주셔서 모두에게 감사와 종류 당신은 설치 후 응용 프로그램을 실행하는 방법에 대한 윅스 문서를 체크 아웃 할 수

답변

1

을 응답 : http://wix.sourceforge.net/manual-wix3/run_program_after_install.htm을. 필요한 경우 조정할 수있는 WiX UI 대화 상자에 대한 포인터를 제공합니다.

또한 SourceDir은 매우 까다로운 사용처 인 http://robmensching.com/blog/posts/2010/1/26/StackOverflow-what-does-NameSourceDir-refer-to입니다. 미디어 대신 설치된 응용 프로그램을 실행하는 것이 가장 이상적입니다.

+0

롭, 답장을 보내 주셔서 감사합니다. 나는 미디어와 함께 제공 될 수있는 하나 이상의 실행 파일로 작업해야하는 불행한 입장에 서 있습니다. 그들이있는 경우, 나는 그들을 실행해야합니다. 이 문제를 해결하기 위해 필자는 내가 완성한 곳에서 SourceDir을 사용하고, 내가있는 곳을 설정하는 매개 변수와 함께 사용했습니다. 내 최종 게임이 취소, 중단 등의 이벤트에 있었지만 여전히 실행 파일이 실행 중입니다. 귀하의 충고는 어떤 상황에서도 체크 박스를 표시하는 방법에 대해 언급하고 있지만 (설치 중단을 알리는 등) 설치 프로그램이 어디에 있는지 알려주지 않습니다. 나는 이것에 오히려 새로운이고 나가 그것을 놓칠지도 모른다 것을 유감스럽게 생각한다. – Hewlett123

+0

나는이 부분을 따르지 않을 것입니다. "하지만 설치 프로그램에게 설치 장소를 알려주는 방법을 알려주지 않습니다." 명확히 할 수 있습니까? –

+0

지연에 대해 유감스럽게 생각합니다. 모든 도움과 시간을 보내 주셔서 감사합니다. 어느 정도는 설치자가 자체 인식 (위치와 관련)해야합니다. 설치 프로그램은 디스크에있는 위치를 알아야합니다. 이것이 내가 SourceDir을 사용하는 이유입니다. (설치 프로그램이 말하는 것입니다) 나는 c : \ temp \ install에 있으며, 이제는 c : \ temp \ install에서 installer2를 실행합니다. 다른 한편으로 누군가가 설치 프로그램을 이동하면 c : \ place라고 말하면 설치 프로그램이 돌아가서 c : \ place에서 installer2를 실행 해보십시오. – Hewlett123