【问题标题】:NullSoft Installer - Upgrade app.config when upgrading applicationNullSoft 安装程序 - 升级应用程序时升级 app.config
【发布时间】:2023-10-17 08:53:02
【问题描述】:

我正在使用 NSIS 安装我的应用程序,并且我正在尝试提前为未来的更新做准备。通常使用 ClickOnce,我可以调用 Upgrade() 方法通过访问以前安装的设置来更新用户的设置。不幸的是,当使用 NullSoft 安装程序时,新的配置文件会与其他所有内容一起打包,并在安装时覆盖现有的配置文件。在升级应用程序并将其与新配置文件合并时,维​​护用户设置的最有效方法是什么?

到目前为止,我的想法是将用户配置文件的副本存储在单独的位置,然后在启动时,通过将程序集版本与配置文件中包含的设置进行比较来检查应用程序是否已升级以前的汇编版本。如果看起来应用程序已升级,它会继续以某种方式将旧配置与新配置合并,但我不确定最安全/最有效的方法是什么。

【问题讨论】:

    标签: .net app-config nsis


    【解决方案1】:

    我的安全升级策略是仅将新 xml 文件中的新元素和属性添加到原始文件中。但是,我不会复制新的 xml 文件,而是在 CSV 中拥有一个 xpath 和值的列表,程序将在启动时检查并针对其配置文件执行。

    【讨论】: