【发布时间】:2011-03-18 06:55:00
【问题描述】:
我有一个使用 WiX 安装程序安装的程序。
程序本身会在 [CommonAppDataFolder]\[MyAppName]\ 目录中创建许多文件。这些文件都具有相同的扩展名(我们称之为 .dat)。
在升级时,我想保留这些文件。
在卸载时,我想删除这些文件。
我目前正在删除这些文件:
<Directory Id='CommonAppDataFolder'>
<Directory Id='MyCommonAppDataFolder' Name='MyAppName'>
<Component Id='RemoveFilesComponent' Guid='71cb0cd8-8459-4a8f-89b7-f00977aa7b70'>
<RemoveFile Id='RemoveFiles' Name='*.dat' On='uninstall'/>
</Component>
</Directory>
</Directory>
我有这个来促进升级:
<InstallExecuteSequence>
<RemoveExistingProducts After='InstallInitialize'/>
</InstallExecuteSequence>
现在,当我卸载时,.dat 文件已正确删除。
但是,当我升级时,.dat 文件也会被删除。我猜是因为升级正在对以前的版本执行卸载。
我是否正确地解决了这个问题?如何在升级时保留文件,而在卸载时删除它们?
【问题讨论】:
-
你有没有找到解决这个问题的方法。
-
很久以前,但我不记得了。我想我最终只是在卸载后将文件留在了 CommonAppDataFolder 中。
-
感谢马特的回答。
标签: wix windows-installer upgrade uninstallation delete-file