我的程序与 Visual Studio 安装项目一起安装。该程序在运行时会user.config
在其默认位置创建一个文件,因为我使用的是Settings。卸载时,如何让卸载程序删除该user.config
文件?另外,如何使卸载程序删除 中的文件夹%AppData%
?
问问题
3816 次
2 回答
3
您将需要为此编写一个自定义任务 - 默认情况下(和设计)安装程序只会删除它安装的内容,之后添加的任何内容都不是安装事务的一部分。您也许可以尝试为 user.config 安装一个虚拟文件,并且您应该能够将 AppData 文件夹添加到安装中(尽管如果您在卸载时添加了位于其中的文件,它将不会被删除)。
于 2010-04-23T13:53:33.147 回答
1
基本上,你不能/不应该/不要。这是我对这个问题的副本的回答的转贴......
删除所有每个用户的数据应该是一个单独的卸载过程。
我的建议(以及我们所做的)是创建一个单独的“清理”实用程序,该实用程序必须以管理员身份运行,并将通过删除其他用户文件的配置文件进行枚举。可选地,它还可以枚举用户的注册表配置单元并删除其他注册表项等。我们的一个客户有自己的自定义脚本可以做到这一点。
然后,我会为客户提供此清理工具,并在卸载后说,如果您想删除所有用户数据,请使用此工具。
考虑以下情况
- 客户在安装新版本之前卸载
- 重大升级(将卸载旧版本,因此您需要注意这一点)
- 不应该这样做但有能力这样做的用户意外卸载
如果您必须必须删除数据,那么我能想到的为所有用户删除此数据的最干净的方法是利用Active Setup并使用它来触发每个用户的脚本,该脚本在下次每个用户登录时运行上。卸载过程中不会删除数据,但会在下次登录时删除。而且您会留下一些注册表项,但是与枚举用户配置文件相比,它不太可能导致损坏。
于 2010-04-27T06:38:50.280 回答