msi をインストールする Wix 書き込みブートストラップを作成しようとしています。ブートストラップ exe は正常に動作していますが、唯一の問題は、途中でインストールをキャンセルしようとすると、msi に追加されたカスタム アクションが停止しないことです。キャンセルボタンをクリックしているときに、インストールを停止してロールバックする方法を誰か教えてください。前もって感謝します。
質問する
1091 次
1 に答える
4
カスタム アクションは、::MsiProcessMessage()
呼び出しを送信して、キャンセルを受け取り、その API からのリターン コードを処理できるようにする必要があります (通常はERROR_INSTALL_USEREXIT
またはIDCANCEL
)。次に、カスタム アクションを終了する必要があります。
WiX 標準のカスタム アクションのいくつかを見ると、多くの呼び出しWcaProcessMessage()
などが見られます。それらからの戻りコードを保存し、WcaFinalize() は終了時に正しいものを返します。サンプルコードを確認してくださいsrc\ca\wcautil\wcautil.cpp
。src\ca\wcautil\wcawrap.cpp
于 2013-03-02T21:40:56.627 に答える