【发布时间】:2023-12-13 12:07:02
【问题描述】:
我已经广泛搜索了有关如何执行此操作的答案,尽管我遇到了一些答案,但对于我的 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:文件夹内的部分文件将被删除,但不会删除整个文件夹和子文件夹。
【问题讨论】:
-
我认为无论是使用控制面板还是 msi 文件,卸载都是由 msiexec.exe 系统(即 windows 安装程序系统)完成的。
标签: wix