卸载WiX时从appdata中删除文件

时间:2013-07-19 12:35:14

标签: .net wix wix3.6

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

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

此处已经提出了类似的问题:Removing files when uninstalling WiX

但区别在于多个用户的处理。

1 个答案:

答案 0 :(得分:2)

剧情简介:不要这样做;将它留给每个用户,但让它易于理解和完成。

情景:

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

    • 用户升级到较新版本,而不是卸载。
    • 用户不是卸载,而是降级到旧版本。
    • 用户卸载应用程序后,用户会安装较新版本。
    • 用户卸载应用程序后,用户会安装旧版本。
    • 用户卸载应用程序后,用户会安装相同版本。

    考虑:

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

    可能的解决方案:

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

    • 应用程序为运行应用程序的每个用户创建一个“卸载程序”。
    • 用户数据卸载程序由应用程序在“添加/删除程序”中的用户配置文件下注册和/或作为用户程序菜单中的快捷方式注册。
    • 应用程序安装程序与数据无关。
    • 用户数据卸载程序可以是一个简单的脚本/程序,但也需要取消注册并自行删除。一种方法是通过应用程序静默安装(每个用户)Windows Installer程序包。