如何在卸载时保留用户设置

时间:2010-09-23 14:16:43

标签: c# .net winforms settings

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

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

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

你能不能给我一些指向文章或文件的指示,这对我有帮助?

非常感谢

4 个答案:

答案 0 :(得分:15)

卸载时不会删除

.NET用户设置。事实上,所有以前版本软件的设置都保存在本地设置目录中。

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

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

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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