継承されたコードを変更しようとしています。成功を返すようにハードコーディングされたカスタム アクションがあります。LaunchConditions の前に実行します。失敗した場合、値が false に設定され、エラー メッセージが強制的に表示されます。
<Condition Message='The application cannot be installed while Office is open.'>
<![CDATA[DEPENDENT_PROCESSES_CLOSED = "true"]]>
</Condition>
これがどのようにインストールを停止するのかわかりません。プロパティ宣言の外では、DEPENDENT_PROCESSES_CLOSED への他の参照が見つかりません。編集:定義により、製品の状態がインストールを停止することが判明しました
このセットアップの主な問題は、msi が常に 0 を返すことです。失敗した場合、msi が失敗コード 1603 を返すようにします。依存プロセスが実行されている場合に ActionResult.Failure を返すようにカスタム アクションを変更してみました。これによりインストールが停止し、インストールが失敗したことがユーザーに通知されますが、これにより 2 つの問題が発生しました。
1) 条件付きメッセージが表示されなくなりました。2) msi は引き続き 0 を返します。
カスタム アクションのエラー コードが msi によって返されるようにするには、どうすればよいですか? 条件付きメッセージを表示するにはどうすればよいですか?