2016-04-07 5 views
0

ファイルFile.txtをアンインストール時にのみ削除しますが、アップグレード時には削除しません。アップグレードのために<MajorUpgrade ...>要素を使用しています。コンポーネントの状態をアンインストール時にのみトリガすることはできますが、アップグレード時には実行できません。

我々は、以下のコンポーネントを使用する場合、ファイルもアップグレード時に、毎回削除されます。

<Component Id="RemoveFileComponent" Transitive="yes" Directory="BIN" Guid="MY-GUID-HERE"> 
    <Condition>REMOVE=ALL AND NOT UPGRADINGPRODUCTCODE</Condition> 
    <RemoveFile Id="RemoveTextFile" Name="File.txt" Directory="BIN" On="uninstall" /> 
</Component> 

属性<RemoveFile ... On="uninstall" />は、この動作には何も変わりません。その結果、ファイルはアップグレード時に削除されます。

UPDATE:<Condition>REMOVE=ALL AND NOT UPGRADINGPRODUCTCODE</Condition><CustomAction>REMOVE=ALL AND NOT UPGRADINGPRODUCTCODE</CustomAction>条件は、更新またはアンインストールで正常に動作しますが、同じ条件が条件で、コンポーネントが正しく動作しないで 。私は<CustomAction>をアセンブリまたはコマンドラインステートメントと組み合わせて不安定な回避策として使用することには興味がありません。私はここに記載されている<CustomAction>を使用して解決策を要求していません。How to add a WiX custom action that happens only on uninstall (via MSI)? 私の質問に記載されているコンポーネントの状態で作業したいと思います。

+0

@私の質問をご覧ください。私はカスタムアクションを使用しません。私はコンポーネントを使いたい。これは重複しません。 – Simon

+0

この例で@Yanのように@ pingゴールドバッジクローザーができることに注意してください。 –

+0

実際の違いはありません。あなたの質問の主なポイントは、適切な条件を設定する方法です。また、 ''もフードのカスタムアクションです。 –

答えて

-1

カスタムアクションを作成し、次の条件を指定します。

+0

Look @ my question:私はCustomActionを使いたくありません。私は '' – Simon

関連する問題