2010-04-23 87 views
6

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

+0

可能的重复http://stackoverflow.com/questions/510722/if-the-user-uninstalls-your-program-what-do-you-do-with-the-user-data – saschabeaumont 2010-04-27 06:36:12

回答

2

你需要编写自定义任务是 - 在默认情况下(和设计)的安装程序将只删除它安装的是什么,是事后添加的东西是不是安装事务的一部分。你也许可以尝试为user.config安装一个虚拟文件,并且你应该可以将AppData文件夹添加到安装中(尽管如果你在卸载时添加了文件,它不会被删除)。

+0

问题是我不知道不知道设置文件的确切位置。它坐落在应用程序数据\本地\ \ _ \ \ user.config – configurator 2010-04-23 14:05:00

+0

然后自定义卸载动作将是您最佳的选择。它可以是真正简单的,只是一个脚本,你可以做一个通配符删除*%AppData%\ Local \ *向下。 – slugster 2010-04-24 00:44:32

2

基本上,你不能/不应该/不。下面是一个my answer to a duplicate of this question转贴...

删除所有每用户数据的应该是一个单独的进程中卸载。

我的建议(我们做什么)将建立必须以管理员身份运行,并通过删除其他用户文件的配置文件列举一个单独的“清理”工具。可选地,它也可以枚举用户注册表配置单元和删除其他注册表项等。我们的一个客户端具有自己的自定义脚本,可以完全实现这一点。

然后,我会提供一个与此清理工具的客户和卸载后说,如果要删除所有用户数据,然后使用这个。

考虑以下情况

  • 客户卸载安装新版本
  • 重大升级之前通过(这将卸载旧版本,所以你必须意识到这一点)
  • 意外卸载用户谁不应该这样做,但不得不这么做

如果必须必须必须删除数据的能力,那么为我所能想到的所有用户删除此数据的最简单的方法是利用Active Setup并使用它来触发每个用户下次登录时运行的每个用户脚本。数据在卸载过程中不会被删除,而是在下次登录时删除。而且你会留下一些注册表项,但是它比列举用户配置文件的可能性更小。