2017-09-22 14 views
1

私はwixのインストーラをいくつかのアプリケーション用に持っていますが、作業中にアプリケーションフォルダに追加のファイルを作成し、アンインストール中にこれらのファイルを削除する必要があります。 https://www.hass.de/content/wix-how-use-removefolderex-your-xml-scriptsによると、私は、コードの次の部分を持っている他の同じ例:WIXユーティリティ:RemoveFolderExが動作しない

  1. は、プロパティを定義します。

    <Property Id="APPLICATIONFOLDER"> 
        <RegistrySearch Key="SOFTWARE\ProductName" 
            Root="HKLM" 
            Type="raw" 
            Id="APPLICATIONFOLDER_REGSEARCH" 
            Name="Path" /> 
    </Property> 
    
  2. は、コンポーネントを定義します。

    <Directory Id="APPLICATIONFOLDER" Name="ProductName"> 
        <Component Id="RemoveAll" Guid="some-guid"> 
        <RegistryValue Root="HKLM" 
            Key="Software\ProductName" 
            Type="string" 
            Name="Path" 
            Value="[APPLICATIONFOLDER]" 
            KeyPath="yes"/> 
        <util:RemoveFolderEx On="uninstall" 
             Property="APPLICATIONFOLDER" /> 
        </Component> 
    </Directory> 
    
  3. 機能にコンポーネントを追加します。

    <Feature Id="ProductFeature" Title="ProductName" Level="1"> 
        ... 
        <ComponentRef Id="RemoveAll" /> 
        ... 
    </Feature> 
    
  4. 私は、このアプリケーションをアンインストールしようとすると

は、それから私は、WiXのログに次の行を持っている:

... 
MSI (s) (B4:64) [13:05:58:798]: PROPERTY CHANGE: Adding APPLICATIONFOLDER property. Its value is 'C:\Program Files(x86)\ProductName\' 
... 
Action start 13:05:58: WixRemoveFoldersEx. 
MSI (s) (B4:48) [13:05:58:914]: PROPERTY CHANGE: Adding _APPLICATIONFOLDER_0 property. Its value is 'C:\Program Files (x86)\ProductName\'. 
WixRemoveFoldersEx: Recursing path: C:\Program Files (x86)\ProductName\ for row: wrfE932DA8DA501DD981493D5D9F4EFDD75. 
MSI (s) (B4:64) [13:05:58:918]: Doing action: CostInitialize 
MSI (s) (B4:64) [13:05:58:918]: Note: 1: 2205 2: 3: ActionText 
Action ended 13:05:58: WixRemoveFoldersEx. Return value 1. 
... 

しかし、何もheppensとすべての追加のファイルは、アプリケーションフォルダ内に存在し、それに応じてフォルダも存在しています。なぜ私は考えていないし、この問題を解決するために何を変える必要があるのか​​分からない。

誰かが私を助けることができますか?

答えて

0

フォルダを削除するには、アプリケーションで作成したファイルを削除する必要があります。このような何かを試してみてください:

<Component Id="RemoveOrphanFiles" Guid=InsertGUID KeyPath="yes"> 
    <RemoveFile Id="RemoveFiles" Name="*.*" On="uninstall" /> 
</Component> 

をし、それが唯一のアンインストールで実行されるように条件を追加... ホープこのことができます!

関連する問題