【问题标题】:How to keep user settings on uninstall如何在卸载时保留用户设置
【发布时间】:2011-04-16 07:27:54
【问题描述】:

我正在使用.NET user settings 功能,但遇到了问题。

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

我理解这是设计使然,我希望能够在安装程序中将选择权交给用户。

您能否给我一些对我有帮助的文章或文档的指示?

非常感谢

【问题讨论】:

    标签: c# .net winforms settings


    【解决方案1】:

    .NET 用户设置在卸载时不会被删除。实际上所有以前版本的软件的设置都保存在Local Settings目录中。

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

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

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

    if (Properties.Settings.Default.UpdateRequired)
    {
        Properties.Settings.Default.Upgrade();
        Properties.Settings.Default.UpdateRequired = false;
    }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 再次阅读我的问题:“我希望能够在安装程序中为用户提供选择”。我想给出选择。
        猜你喜欢
        • 2017-07-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-25
        相关资源
        最近更新 更多