8

アンインストール時に実行する必要のある機能ごとのカスタムアクションを持つWiXインストーラーがあります。現在、機能が実際にユーザーによってインストールされたかどうかに関係なく、アクションが実行されるという問題が発生しています。カスタムアクションは、特定のリソースが存在することを期待しているため失敗し、インストール全体が壊れた状態でスタックします。

関連する機能がアンインストールされている場合にのみ、カスタムアクションを実行する正しい方法は何ですか?役立つ場合は、現在使用しているスニペットを以下に含めました。

<Custom Action="LaunchUninstallCustomAction" Before="RemoveFiles"><![CDATA[(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL") AND (&FeatureName<=2)]]></Custom>
4

2 に答える 2

18

試す

<Custom Action="LaunchUninstallCustomAction" Before="RemoveFiles">
   <![CDATA[(NOT UPGRADINGPRODUCTCODE) 
             AND (&FeatureName=2) AND (!FeatureName=3)]]>
</Custom>

条件の構文と例の詳細については、 MSDNを参照してください。

于 2010-02-03T17:54:12.480 に答える
-3

カスタムアクションが壊れており、不足しているリソースを正しく処理していないようです。

ユーザーが手動でファイルを削除した場合、CAはそれをどのように処理しますか?ユーザーがアプリケーションフォルダを削除してから、ARP経由で削除しようとするとどうなりますか?

ユーザーがアプリケーション全体をアンインストールせずに機能を削除した場合はどうなりますか?CAを長期的に修正したほうがよいでしょう。

于 2010-02-03T03:41:43.727 に答える