web-dev-qa-db-ja.com

インストールまたはアンインストール時にのみ実行されるカスタムアクションをWiXで実行するにはどうすればよいですか?

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

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

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

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

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

14
Alan Spark

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

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

2.アンインストールには次を使用してみてください: ロブの答え

[〜#〜] upgradeingproductcode [〜#〜] プロパティはRemoveExistingProductsCA中にのみ設定されます。

15
Dimiano

INSTALLED」が使用する必要がある変数は「Installed」です。インストールとアンインストールの条件に関する詳細については、スタックオーバーフローの回答アンインストール時にのみ発生するWiXカスタムアクションを追加する方法(MSI経由)?

2
Vinoth