在Clickonce部署之后,最终用户是否可以更改应用程序的app.config?

时间:2011-01-20 18:08:21

标签: .net deployment clickonce app-config appsettings

我的应用程序将部署到很多服务器和虚拟机上。此应用程序在很大程度上依赖于某些文件位置和URL(可能会有所不同,具体取决于它所在的企业网络的哪个部分,如果它需要域名,如果它使用映射驱动器等等)。其中一些部署不能保证由我设置,有些部署将由其他最终用户设置。

我的解决方案是将这些值放入app.config文件中的值,这样在部署之后,无论谁在服务器上设置应用程序,都必须更改适用于该服务器的app.config设置。

然后我发现了ClickOnce部署,这有助于简化应用程序的部署和更新,这将使事情变得更加简单。

问题是我找不到一种可靠的方法来允许用户更改app.config中的值,并且最好在更新后保留这些值。根据我在网上找到的内容,如果您修改系统文件,它会认为该文件已经过时并下载该文件的最新版本,从而撤消对app.config的任何修改。它似乎也将新版本部署到与以前版本完全不同的文件夹中,因此升级应用程序将彻底消除以前的修改。

我在网上搜索过,我空手而归。这里有没有人对如何处理这个有任何建议?

2 个答案:

答案 0 :(得分:2)

我会尽可能多地将这些值放在数据库表中,然后给管理员一个前端来更改用户的设置。

答案 1 :(得分:1)

我已经通过使用用户范围的应用程序设置解决了这个问题,如here所述。虽然它不是最好的方法(因为它的用户特定而非特定于应用程序),因为我的应用程序只由一个用户运行,这很好。

当用户更改其设置时,更改会在更新中保留。