【发布时间】:2013-04-12 22:11:51
【问题描述】:
我刚刚开始使用 WiX 作为我现有应用程序的安装框架。该应用程序有一个 App.Config 文件,用于控制各种客户特定的设置。这些设置大部分都是在内部修改的,用户无法控制。
这样的配置文件的一个例子是:
[...snip]
<applicationSettings>
<setting name="DatabaseConnectionString" serializeAs="String">
<value>Data Source=localhost;Initial Catalog=CustomersDatabase;Persist Security Info=True;Integrated Security=True</value>
</setting>
</applicationSettings>
[snip...]
当应用程序的较新版本交付时,它将有一个库存配置文件,其中包括任何新的应用程序设置:
[...snip]
<applicationSettings>
<setting name="DatabaseConnectionString" serializeAs="String">
<value>Data Source=localhost;Initial Catalog=NonProductionDatabase;Persist Security Info=True;Integrated Security=True</value>
</setting>
<setting name="NewConfigItem" serializeAs="String">
<value>ConfigDetails</value>
</setting>
</applicationSettings>
[snip...]
我想设置我的 WiX 安装程序,以便在升级期间创建一个合并的 App.Config,这样现有设置不会受到影响,但新的配置项会以其默认值插入:
[...snip]
<applicationSettings>
<setting name="DatabaseConnectionString" serializeAs="String">
<value>Data Source=localhost;Initial Catalog=CustomersDatabase;Persist Security Info=True;Integrated Security=True</value>
</setting>
<setting name="NewConfigItem" serializeAs="String">
<value>ConfigDetails</value>
</setting>
</applicationSettings>
[snip...]
但是,我不希望安装程序事先知道配置选项是什么;我只是想让它扫描现有文件,如果发现缺少任何选项,则从安装程序中添加新选项。
这可能吗?
【问题讨论】:
标签: xml installation wix configuration-files