卸载时如何删除设置

时间:2010-04-23 13:29:53

标签: setup-project uninstall application-settings

我的程序安装了Visual Studio安装项目。该程序在运行时会在其默认位置创建user.config文件,因为我正在使用Settings。取消安装时,如何让卸载程序删除user.config文件? 另外,如何让卸载程序删除%AppData%中的文件夹?

2 个答案:

答案 0 :(得分:2)

您需要为此编写自定义任务 - 默认情况下(和设计)安装程序将仅删除其安装的内容,之后添加的任何内容都不是安装事务的一部分。您可以尝试为user.config安装一个虚拟文件,并且您应该能够将AppData文件夹添加到安装中(尽管如果您在卸载时添加了文件,它将不会被删除)。 / p>

答案 1 :(得分:2)

基本上,你不能/不应该/不。这是my answer to a duplicate of this question的重新发布...

删除所有每用户数据应该是卸载的单独过程。

我的建议(以及我们的工作)是创建一个单独的“清理”实用程序,该实用程序必须以管理员身份运行,并将通过配置文件枚举删除其他用户文件。可选地,它还可以枚举用户注册表配置单元并删除其他注册表项等。我们的客户端之一拥有自己的自定义脚本。

然后我会向客户提供此清理工具,并在卸载后说,如果要删除所有用户数据,请使用此工具。

考虑以下情况

  • 客户在安装新版本之前卸载
  • 主要升级(将卸载旧版本,因此您需要注意这一点)
  • 由不应该做但有能力的用户意外卸载

如果您必须必须删除数据,那么为我能想到的所有用户删除此数据的最简洁方法是利用Active Setup并使用此触发器每个用户登录时运行的每用户脚本。卸载期间不会删除数据,但会在下次登录时删除。并且您将留下一些注册表项,但是它不太可能导致损坏而不是枚举用户配置文件。