在应用程序

时间:2016-03-03 22:24:51

标签: c# winforms settings

我正在为我的应用程序创建自动更新功能。在某些时候,最新版本的[application] .exe,[application] .exe.config,[application] .application和[application] .exe.manifest文件被下载到temp文件夹中,旧版本开始运行来自temp文件夹的新版本然后自行关闭。然后新版本删除旧版本并将其自身移出临时文件夹并返回旧版本。

此方法的一个问题是它不会自动将Properties.Settings.Default值保存到新应用程序。据我了解,这些值存储在Application.UserAppDataPath中,这两个版本的路径相同。新版本启动时我也使用Properties.Settings.Default.Reload(),但这也不起作用。

它们是否存储在不同的路径中,该路径对于每个程序实例都是唯一的?或者我可以通过其他方式将旧版本的值加载到新版本中吗?

1 个答案:

答案 0 :(得分:0)

通过将设置保存到文本文件并读取新版本应用程序中的值,可以解决此问题。如果设置包含难以用文本写入的对象(我的应用程序不是这种情况),那么您可以考虑将设置序列化为自定义文件。

我仍然不明白为什么用户设置没有复制到其他版本,因为Application.UserAppDataPath对于两者都是相同的。