17

2 つのカスタム アクションがあります。1 つは製品のインストール時、もう 1 つはアンインストール時に実行します。

カスタム アクションは現在、"InstallFinalize" の後にマージ モジュールから呼び出されますが、これはインストールとアンインストールの両方で発生します。「NOT INSTALLED AND NOT UPGRADINGPRODUCTCODE」条件を追加しようとしましたが、エラーが発生しました。

エラー 2762。スクリプト レコードを書き込めません。取引が開始されていません。

他のアクション (UnpublishComponents など) へのアタッチも試みましたが、インストールまたはアンインストールに固有のものは見つかりません。

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

20

次を試す
1.インストールのみ:

<InstallExecuteSequence>
<Custom Action="SomeAction" After="InstallFinalize">NOT Installed AND NOT REMOVE</Custom>
</InstallExecuteSequence>

2.アンインストールの場合は、使用してみてください: Rob's answer

UPGRADINGPRODUCTCODEプロパティは、RemoveExistingProductsCA中にのみ設定されます。

于 2013-07-02T12:02:24.820 に答える
2

使用する変数「<code>INSTALLED」は「<code>Installed」です。スタック オーバーフローの回答でインストールとアンインストールの条件に関する詳細情報を見つけてください アンインストール時にのみ発生する WiX カスタム アクションを追加する方法 (MSI 経由)? .

于 2013-07-02T05:42:33.200 に答える