7

这个问题准确地描述了我的问题,除了我在app.configwith中使用自定义配置部分ConfigurationManager,所以那里提出的解决方案不适用......

基本上,我的问题是当 ClickOnce 更新应用程序时,它会使用新的 app.config 安装到不同的目录中,从而删除所做的任何更改。我的应用程序使用 app.config 来持久化应用程序设置,所以这非常糟糕......合并更新会非常好(类似于在另一个问题中实现的),但在这一点上几乎任何自动化都会很好。

或者我应该只为我的 app.config 文件使用设置位置而不是尝试使用默认位置?

4

1 回答 1

3

ClickOnce 应该在更新之间维护用户设置,但由于未知原因(并且结果不佳),我已经失败了一次或两次。我没有尝试过自定义配置设置,但我对 ClickOnce 不覆盖设置的能力失去了信心。

我计划使用的方法是手动处理 ClickOnce 更新,而不是允许应用程序。检查更新并提示用户安装。我也有几个用户不接受更新,这很难恢复。通过手动处理更新,我希望能够在更新之前将用户设置读入内存,然后在更新完成后将它们写回。有一个 ApplicationUpdated 事件应该服务于这个目的。

也许这种方法也适用于您。

编辑添加参考:

谷歌搜索 ApplicationDeployment 也应该有所帮助。

于 2009-06-17T12:12:09.503 回答