【发布时间】:2014-05-18 21:19:52
【问题描述】:
我一直在寻找关于如何使用 WiX 安装程序针对其 App.config 文件中的不同值部署应用程序的最佳实践建议。例如。
在我的本地开发机器上,我为我们的测试环境使用 App.config 设置:
<configuration>
<appSettings>
<WorkingDirectory>C:\Working</WorkingDirectory>
</appSettings>
<connectionStrings>
<add name="ApplicationEntities"
connectionString="[TestingConnectionString]"
providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
当我部署到测试环境时,这些设置是可以接受的。但是,当我们部署到生产环境时,我希望它们有所不同。例如:
<configuration>
<appSettings>
<WorkingDirectory>\\prodserver\Working</WorkingDirectory>
</appSettings>
<connectionStrings>
<add name="ApplicationEntities"
connectionString="[ProductionConnectionString]"
providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
我的问题的答案很可能与 WiX 无关。但以防万一,这是我的 WiX Product.wxs 文件的相关片段:
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="ProductComponent" Guid="{MY-GUID}">
<File Id="Application.exe"
Name="Application.exe"
Source="..\Application.exe"
Vital="yes"
KeyPath="yes"
DiskId="1" />
<File Id="Application.exe.config"
Name="Application.exe.config"
Source="..\Application.exe.config"
Vital="yes"
KeyPath="no"
DiskId="1" />
</Component>
</ComponentGroup>
</Fragment>
此设置以在生产服务器上手动编辑 App.config 结束,这会导致手动错误。有什么更好的方法来处理这个以适应自动化部署?
【问题讨论】:
标签: deployment wix app-config config