部署 Windows Forms 应用程序后,如何更改默认设置?
When I've deployed a Windows Forms application, how can I change the default settings?
我已经部署了一个 Windows Forms 应用程序。在我的本地开发 PC 上,有一个 settings.settings
文件,其中包含应用程序的所有设置。
我知道根据这个 question 和其他类似的,User.config 文件是在 c:\Users\username\Local Settings\AppData\Local\...
中创建的
但是,我需要更改一个默认设置,这样当用户第一次启动它时,默认设置与我们最初部署应用程序时的设置不同。
所以用户第一次运行该应用程序时,它会创建文件的本地副本。
它基于什么?某处是否有该文件的默认副本,或者它是否已编译到 .exe 中?
我需要更新一个应用程序的默认设置,该应用程序远程部署在多台笔记本电脑上,我只有电话支持。如果我必须重新编译和重新发布,那将是最后的选择。
考虑这些事实可能会有用:
- 用户设置的默认值存储在
yourapplication.exe
旁边的 yourapplication.exe.config
- 用户设置的当前值不在此文件中,可以使用
Properties.Default.Settings.Save()
保存其中的任何更改
- 如果您的可执行文件夹中没有
yourapplication.exe.config
,它将使用您的 .settings
文件中的值自动创建。
- 如果您调用
Properties.Default.Settings.Reset()
,yourapplication.exe.config
中的值将用于覆盖用户保存的值。
- 添加新设置需要重新编译和重新发布。
- 克服更新和分发的痛苦,你可以考虑ClickOnce。
我已经部署了一个 Windows Forms 应用程序。在我的本地开发 PC 上,有一个 settings.settings
文件,其中包含应用程序的所有设置。
我知道根据这个 question 和其他类似的,User.config 文件是在 c:\Users\username\Local Settings\AppData\Local\...
但是,我需要更改一个默认设置,这样当用户第一次启动它时,默认设置与我们最初部署应用程序时的设置不同。
所以用户第一次运行该应用程序时,它会创建文件的本地副本。
它基于什么?某处是否有该文件的默认副本,或者它是否已编译到 .exe 中?
我需要更新一个应用程序的默认设置,该应用程序远程部署在多台笔记本电脑上,我只有电话支持。如果我必须重新编译和重新发布,那将是最后的选择。
考虑这些事实可能会有用:
- 用户设置的默认值存储在
yourapplication.exe
旁边的yourapplication.exe.config
- 用户设置的当前值不在此文件中,可以使用
Properties.Default.Settings.Save()
保存其中的任何更改
- 如果您的可执行文件夹中没有
yourapplication.exe.config
,它将使用您的.settings
文件中的值自动创建。 - 如果您调用
Properties.Default.Settings.Reset()
,yourapplication.exe.config
中的值将用于覆盖用户保存的值。 - 添加新设置需要重新编译和重新发布。
- 克服更新和分发的痛苦,你可以考虑ClickOnce。