目前,我们的用户数据层次结构如下所示:
LocalAppDataFolder/公司/产品
这是有道理的,因为用户可能安装了多个产品。但是,WiX 不会让我只删除 Product 文件夹。
<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 表中。” 显然,我不想擦除其他产品的数据。我发现的几个示例只有一个目录深度,即它们不包括中间目录,在本例中为 Company。
我觉得我在这里误解了一些东西。什么?非常感谢。