2016-04-15 3 views
0

パッケージ、管理されたブートストラップアプリケーション、およびバンドルで構成されるセットアップを作成しました。管理されたブートストラップアプリケーションでパッケージが失敗したときのエラーメッセージの処理方法

パッケージが失敗した場合、特定の状況下ではErrorイベントが呼び出されないことに注意してください。私は既にWixBAの設定からInstallationViewModel.csを見ましたが、解決策が見つかりませんでした。

これを正しく処理するにはどうすればよいですか?

詳細

パッケージは

<firewall:FirewallException ... /> 

を作成し、私は、「Windowsファイアウォール」サービスが実行されていないとき、これは失敗することを指摘しました。 (私はそれがバグの報告と機能のかどうか分かりませんが、この質問はこの程度ではありません。)

パッケージのログファイルが含まれています:

ExecFirewallExceptions: Installing firewall exception2 Foo (C:\Program Files (x86)\Foo\Foo.exe) 
ExecFirewallExceptions: Error 0x800706d9: failed trying to find existing app 
ExecFirewallExceptions: Error 0x800706d9: failed to add/update application exception for name 'Foo', file 'C:\Program Files (x86)\Foo\Foo.exe' 
CustomAction WixExecFirewallExceptionsInstall returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox) 

メインのログファイルが含まれています

e000: Error 0x80070643: Failed to install MSI package. 
e000: Error 0x80070643: Failed to execute MSI package. 
e000: Error 0x80070643: Failed to configure per-machine MSI package. 

ロールバックが実行され、すべて正常に動作しますが、エラーメッセージは表示されません。

ユーザーにエラーメッセージを表示するにはどのようなイベントを処理する必要がありますか?これを正しく処理する他の方法はありますか?

+0

あなたは解決策を見つけましたか? – mayooran

+0

@mayooranインストールが実際に始まる前に、私はファイアウォールサービスが動作しているかどうかテストし、そうでなければ、ユーザに警告します。ハックのようなものだが、うまくいく。 – Martin

答えて

1

<firewall:FirewallException>要素にIgnoreFailure="yes"を追加することで、このエラーを無視できます。ドキュメントから

http://wixtoolset.org/documentation/manual/v3/xsd/firewall/firewallexception.html

注:エラーが発生した場合、これは、ファイアウォールのルールを設定していますが、ファイアウォールが無効になっている場合、それは問題ではありません。

+0

これでエラーを回避できますが、ファイアウォールの例外は発生しません。後で問題になる可能性があります。しかし、私はこれがどのように(適切な)エラーメッセージを表示するのかという私の質問に答えるのに役立つのか分かりません。 – Martin

+0

@Martinあなたの主な質問には答えませんが、これを正しく処理する方法が他にあるかどうか尋ねました。そして、この答えはまだあなたには役に立たないかもしれませんが、他の人にとっては役に立つかもしれません(あなたの質問は、ファイアウォール例外の同じ根本的な問題に対する解決策を探していて、インストール) –

+0

OK、私は完全に同意:) – Martin

関連する問題