代码之家  ›  专栏  ›  技术社区  ›  user333306

卸载时如何保留用户设置

  •  9
  • user333306  · 技术社区  · 15 年前

    我在用 .NET user settings 功能和我面临一个问题。

    当卸载应用程序,然后重新安装时,用户设置将丢失。

    我从设计上理解它,我希望能够在安装程序中为用户提供选择。

    你能给我一些有助于我的文章或文档的提示吗?

    谢谢

    4 回复  |  直到 8 年前
        1
  •  15
  •   Vijay Chavda    8 年前

    .NET用户设置 卸载时不删除。实际上,软件的所有早期版本的设置都保存在 本地设置 目录。

    安装新版本后,将创建新版本的设置,并使用默认设置。

    要确保应用程序将新设置与以前的配置合并,必须调用 Settings.Default.Upgrade() 方法。

    所以解决方案是在卸载时手动删除设置,如果我们不想保留它们的话。因为我需要保留以前的设置,所以我现在所做的就是创建一个名为 UpgradeRequired 具有 true 具有默认值,然后在应用程序启动时添加此代码:

    if (Properties.Settings.Default.UpdateRequired)
    {
        Properties.Settings.Default.Upgrade();
        Properties.Settings.Default.UpdateRequired = false;
    }
    
        2
  •  1
  •   Brian M. Hunt    15 年前

    您可以将要保存的设置写入注册表,或者将它们作为XML文件写入不受卸载影响的位置。

        3
  •  0
  •   Community CDub    8 年前

    如果您想继续使用用户设置,我建议您编写一个自定义安装程序类,并实现onUnitInstalling方法。 find the file 并将其复制到自定义安装程序的OnInstall方法已知的其他位置。以便下次安装程序运行时可以找到该文件。

        4
  •  0
  •   justin.m.chase    15 年前

    我认为您不希望在卸载后在用户计算机上实际保留数据。把文件留在身边是一种邪恶的做法,一个大的禁忌。你应该公开应用程序本身的一个功能,要么将这些设置导出到他们选择的位置,然后在重新安装应用程序后再次导入,要么将这些设置同步到服务器上,以便在重新安装时自动可用,等等。在卸载时,你可以这样做。你不应该留下任何痕迹。

    推荐文章