在WIX迁移中管理用户配置
我们正在制作一个主要是Windows服务EXE的项目。 我们正在使用WIX(带在WIX迁移中管理用户配置,wix,config,upgrade,heat,Wix,Config,Upgrade,Heat,我们正在制作一个主要是Windows服务EXE的项目。 我们正在使用WIX(带heat)创建一个安装程序,该安装程序创建相关文件并向Windows服务注册EXE 我们已经实现了安装程序升级逻辑,它主要通过在.wxs文件中设置产品标记的版本属性来工作(TM) 我看不出如何管理的一个问题是该工具的配置文件 该工具具有各种配置设置,可以从该工具中进行修改。 我们使用的是ASP.NET,它内置了设置/配置管理,更改的配置设置被声明为“用户”设置。当我们运行SavetheConfigChanges时,它会
heat
)创建一个安装程序,该安装程序创建相关文件并向Windows服务注册EXE
我们已经实现了安装程序升级逻辑,它主要通过在.wxs
文件中设置产品
标记的版本
属性来工作(TM)
我看不出如何管理的一个问题是该工具的配置文件
该工具具有各种配置设置,可以从该工具中进行修改。
我们使用的是ASP.NET,它内置了设置/配置管理,更改的配置设置被声明为“用户”设置。当我们运行SavetheConfigChanges时,它会创建一个辅助配置文件,覆盖主配置文件中的默认设置
主配置文件位于\MyCustomService.exe.config
,次配置文件位于\vX.Y.Z\user.config
。
其中X.Y.Z
是与WIX版本保持同步的AssemblyInfo
版本号
当我们安装新版本时,该工具开始为user.config查找新路径。。。却找不到。因此,在功能上,安装新版本会重置用户的所有配置:(
获取WIX upgrade安装以维护现有配置的适当方法是什么?ASP.NET配置支持使用.upgrade()
方法将用户设置从一个版本升级到下一个版本。您最好使用它,而不是在安装程序中管理它
此问题详细介绍了如何管理:
但核心解决方案是:
if(设置。默认值。需要升级)
{
Settings.Default.Upgrade();
Settings.Default.UpgradeRequired=false;
Settings.Default.Save();
}
已将UpdateRequired
创建为仅用于管理此流程的用户属性