1

卸载我的应用程序时,我想配置 WiX 设置以删除在原始安装后添加到%appdata%文件夹的所有文件。

但问题是,我的应用程序可以为许多用户运行。在应用程序启动中,我有一个函数可以在文件不存在时创建文件。所以我想删除所有文件,无论它们是什么“用户/应用数据”。

这里已经提出了一个类似的问题:卸载 WiX 时删除文件

但不同之处在于对多个用户的处理。

4

1 回答 1

2

简介:不要那样做;将其留给每个用户,但要使其易于理解和执行。

设想:

  1. 用户安装您的应用程序的一个版本。
  2. 零个或多个用户运行它,应用程序为他们单独创建数据。
  3. 用户卸载您的应用程序。

变化:

  • 用户无需卸载,而是升级到较新的版本。
  • 用户无需卸载,而是降级到旧版本。
  • 在用户卸载您的应用程序一段时间后,用户会安装更新的版本。
  • 在用户卸载您的应用程序后一段时间,用户会安装旧版本。
  • 在用户卸载您的应用程序后的一段时间,用户会安装相同的版本。

注意事项:

  • 用户会知道这些数据并将其视为自己的工作吗?
  • 如果数据被清除并重新创建,用户会关心吗?(这将是其他一些用户卸载应用程序并删除数据然后一些用户重新安装它的结果。)
  • 应用程序可以检测数据的版本吗?
  • 安装程序可以检测数据的版本吗?

可能的解决方案:

让每个用户随时决定“卸载”数据。(此解决方案仅解决了上面提出的一些问题。)

  • 该应用程序为每个运行该应用程序的用户创建一个“卸载程序”。
  • 用户数据卸载程序由应用程序在“添加/删除程序”中的用户配置文件下和/或作为用户程序菜单中的快捷方式注册。
  • 应用程序安装程序与数据没有任何关系。
  • 用户数据卸载程序可以是一个简单的脚本/程序,但也需要注销和删除自身。一种方法是由应用程序以静默方式安装(每个用户)的 Windows Installer 程序包。
于 2013-07-19T14:28:05.337 回答