2013-08-28 29 views
5

我有一個在WiX 3.6中創建的MSI,顯然會安裝各種東西並創建一個實際上不是實際的exe的快捷方式由我的MSI安裝(我們確信exe文件位於特定的文件夾中,因爲它是由單獨的MSI安裝的,這是我的MSI必需的預先請求)。我們創建的快捷方式傳入了一些實際上告訴exe使用我們剛剛安裝的東西的參數。這一切都正常,但我現在希望MSI自動運行與我們在快捷方式中使用相同的參數的exe。Wix - 在安裝結束時運行一個exe(帶參數),當前MSI沒有安裝它

我試過以下這篇文章 - http://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.html,但它假設你想運行一個你剛纔安裝的exe文件,而且似乎沒有使用exe參數。

我也嘗試使用自定義的用語,比如 -

<CustomAction Id="RunMainApp" 
      Directory="FREDFOLDER" 
      ExeCommand="[FREDFOLDER]Fred.exe -SBDSingleApp -SBDSplash=&quot;MySplash.bmp&quot;" 
      Execute="commit" 
      Return="ignore"/> 

<InstallExecuteSequence> 
    <Custom Action="RunMainApp" Before="InstallFinalize" /> 
</InstallExecuteSequence> 

,這是更有前途 - 它運行的exe文件,但這樣做的實際安裝之前已經完成 - 這顯然是不正確的。

說實話,如果第一個例子中有一個用戶界面,我不會感到困擾 - 因爲90%的時間MSI將在沒有嚮導的情況下以安靜模式運行。

+0

檢查我的答案在這裏,這應該有助於你: http://stackoverflow.com/a/19274431/1766402 – Isaiah4110

回答

2

您是否嘗試將Execute =「commit」更改爲Execute =「deferred」,這將使安裝腳本運行後自定義操作運行,但在安裝過程結束後運行,而後者則不在的安裝執行上下文。

+1

我使用「提交」的原因是,我用作指南的教科書說「設置執行提交,安排完成後要運行的動作「 - 這聽起來像我所需要的。但說我只是嘗試了你的建議,並沒有什麼區別 - 在安裝嚮導完成之前它仍然會啓動exe。安裝程序可能已經足夠讓程序實際工作,但它只是「感覺」錯誤 - 在安裝程序嚮導仍在運行的同時擁有我們的登錄框(我們的應用程序首先執行的操作)! –

相關問題