我已经广泛搜索了如何做到这一点的答案,虽然我遇到了一些答案,但他们要么不够具体,要么对我的WiX知识来说太高级了。
如何在使用WiX卸载程序时删除应用程序(而非安装程序)创建的appdata文件夹中的文件夹,文件和子文件夹(以及父文件夹)。
使用控制面板卸载应用程序将删除AppData中的文件夹,但是,当使用安装程序卸载应用程序时,情况并非如此。
非常感谢任何帮助。
我目前有:
<Property Id="APPLICATIONFOLDER">
<RegistrySearch Root="HKCU" Key="Software\AppCo\AppName" Type="raw" Id="APPLICATIONFOLDER_REGSEARCH" Name="PrivateDir" />
</Property>
<DirectoryRef Id='PrivateDataFolder'>
<Component Id="PrivateData" Guid="*">
<CreateFolder Directory="PrivateDataFolder"/>
<util:RemoveFolderEx On="uninstall" Property="APPLICATIONFOLDER" />
<RemoveFolder Id="PrivateDataFolder" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\AppCo\AppName" Name="PrivateDir" Type="string" Value="[PrivateDataFolder]" KeyPath="yes"/>
</Component>
</DirectoryRef>
但是,这似乎不起作用。
Edit2:文件夹中将删除某些文件,但不会删除整个文件夹和子文件夹。
答案 0 :(得分:0)
将RemoveFolderEx与分配给AppData中父文件夹的组件一起使用。 Bob Arnson进一步讨论here。请注意,您不能使用已分配的目录,因此创建注册表项以获取要删除的AppData文件夹的路径将是谨慎的。确保在项目中包含UtilExtension。