2017-04-10 52 views
2

我有以下CustomAction,它使用WixQuietExec來執行另一個應用程序。如果操作失敗,MSI安裝程序不會彈出任何錯誤對話框,這使用戶難以注意安裝是否成功完成。如何顯示失敗的錯誤對話框WixQuietExec CustomAction

在這種情況下是否可以顯示錯誤對話框?老實說任何標準的錯誤對話框都可以,但是自定義錯誤信息會更好。

<SetProperty Id="MyAction" 
       Value="&quot;myprog.exe&&quot;" 
       Sequence="execute" 
       Before="MyAction" /> 
    <CustomAction Id="MyAction" 
        BinaryKey="WixCA" 
        DllEntry="WixQuietExec" 
        Impersonate="no" 
        Execute="deferred" 
        Return="check" /> 

    <InstallExecuteSequence> 
     <Custom Action="MyAction" After="InstallFiles" /> 
    </InstallExecuteSequence> 
+0

那麼這就是所謂的Wix *安靜* Exec的原因。您可以嘗試['WixShellExec'](http://wixtoolset.org/documentation/manual/v3/customactions/shellexec.html)自定義操作。 [使用示例](http://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.html)。我從來沒有使用它,但也許它有錯誤的用戶界面。 – zett42

回答

0

什麼退出代碼不會失敗時MYPROG.EXE回報?您將return設置爲check,以便返回< 0退出代碼時,它應該導致安裝程序回滾並顯示安裝失敗對話框。我不想在失敗的時候進行對話,因爲如果它運行了10-15分鐘,然後失敗了,您將有10-15分鐘的時間等待回滾完成。

也許真正的問題是用戶沒有閱讀最後一個對話框來查看它是否完成或失敗。