2017-04-10 11 views
2

WixQuietExecを使用して別のアプリケーションを実行する次のCustomActionがあります。アクションが失敗した場合、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 * Quiet * 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)。私はそれを使用したことはありませんが、多分UIにエラーがあります。 – zett42

答えて

0

エラーが発生した場合、myprog.exeはどのような終了コードを返しますか?あなたがチェックするようにリターンを設定すると、<終了コード0が返ってくると、インストーラがロールバックしてインストール失敗のダイアログを表示するはずです。私は失敗の瞬間にダイアログを望んでいないでしょう。なぜなら、10-15分間実行してから失敗した場合、ロールバックが完了するのを10〜15分待つからです。

おそらく、実際の問題は、ユーザーが最後のダイアログを読んで、終了または失敗したかどうかを確認していないということです。

関連する問題