安装一个文件,该文件只应在真正的卸载时删除,并且永远不会被覆盖

时间:2010-04-01 09:32:50

标签: components conditional-statements

当我安装我的应用程序以及二进制文件时,会安装一个conf文件,用户可以根据需要进行更改(实际上是用户数据文件)。我希望在修复,升级,修改发生时不要覆盖或删除此文件,只有在真正的卸载发生时才应删除它。换句话说:此conf文件与二进制文件一起安装,不应再次触摸(覆盖/删除),直到真正的卸载发生(不修复,修改,升级),在这种情况下应删除它。

所以我在想:

<Component Id="aaa.cfg" Guid="GUID"> <File Id="aaa.cfg" Source="aaa.cfg" KeyPath="yes" /> </Component>

但我不知道如何调整组件以便:

  1. 仅在实际卸载时删除的组件 - 不是升级,修复,修改?

  2. 如果文件已存在,则不得覆盖该文件。

1 个答案:

答案 0 :(得分:0)

解决2的最简单方法可能是将其安装为“模板”,并让应用程序将此模板复制到“最终”位置(如果它不存在)。 (如果是用户文件,请在您的应用程序旁边安装模板,并在%USERPROFILE%下的适当位置制作最终副本)