2012-06-05 45 views
1

目前,我們的用戶數據的層次結構是這樣的:刪除應用程序使用(R)產生的文件與維克斯

LocalAppDataFolder /公司/產品

這是有道理的,只要它去,因爲用戶可能有安裝了多個產品。但是,WiX不會讓我只刪除產品文件夾。

<Directory Id="LocalAppDataFolder"> 
    <Directory Id="ManufacturerDir" Name="Company"> 
     <Directory Id="AppDataDir" Name="Product"> 
      <Component Id="AppData" Guid="some_guid"> 
       <RemoveFolder Id="AppDataDir" On="uninstall" /> 
       <RegistryValue Root="HKCU" Key="Software\Company\Product" Type="string" Value="" /> 
      </Component> 
     </Directory> 
    </Directory> 
</Directory> 

上面代碼段導致錯誤,「LGHT0204:ICE64:目錄公司爲在用戶簡檔但沒有在RemoveFile表中列出。」很明顯,我不想抹去其他產品的數據。我發現的幾個例子只有一個目錄很深,即它們不包括干預目錄,在這種情況下是公司。

我得到的是我在這裏誤解的東西的感覺。什麼?非常感謝。

回答

4

添加<RemoveFolder Id="RemoveManufacturerDir" Directory="ManufacturerDir" On="Uninstall"/>應該擺脫那個錯誤。如果該目錄爲空,該文件夾將僅被刪除。如果其中有其他文件,則不會被刪除。

+0

謝謝您的回覆。我不知道我是否誤解了你,或者你是我。 :)只是爲了重申:我不想**刪除公司目錄,只是產品目錄。 – kuipersn

+0

有一點新鮮空氣可以做到,真是太神奇了。我明白你的意思了。謝謝! – kuipersn

+0

這也讓我感到很失望 - 我錯過的是''的'Id'應該是一個新的ID,而不是''中定義的文件夾的ID, –