适用于测试/实时环境的WIX安装程序

时间:2011-10-31 05:25:25

标签: wix windows-installer

我必须为LIVE / QA / UAT环境的客户端应用程序创建一个设置文件,它们之间的唯一区别是app.config文件。你能否提出一个简单的方法来完成它?

3 个答案:

答案 0 :(得分:2)

一种好方法是根据用户输入修改模板app.config:

答案 1 :(得分:2)

如果您需要根据用户输入更新app.config中的某个值,那么@Cosmin概述的解决方案最有效。根据您的要求,还有其他几种选择:

  • 如果您可以在构建时定义app.config差异,并且如果可以拥有3个不同的MSI包(每个环境一个),那么最好为预处理器中包含的每个环境创建包含app.config的3个组件逻辑。因此,根据您的构建方式,您最终将获得针对特定环境的MSI包
  • 如果选择取决于某个用户输入,您仍然可以创建具有互斥条件的3个不同组件,并且此条件将取决于用户输入

答案 2 :(得分:2)

我之前在主wxs文件中使用了类似的东西解决了这个问题:

<?include $(sys.CURRENTDIR)Properties$(var.Configuration).wxi?>

(根据活动的解决方案配置,它指向例如C:\ MyProjectDir \ PropertiesDebug.wxi,C:\ MyProjectDir \ PropertiesUAT.wxi等)。

但是,我现在更喜欢使用新的Microsoft方法为每个平台进行web.config和app.config转换,因为它可以帮助将维护这些设置的负担转移到创建它们的开发人员身上,而不是将它全部留给最后编写安装程序应用程序的人。

app.config转换没有内置到VS2010中,但有一个加载项可用: http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5

web.config转换已经内置:
http://blogs.msdn.com/b/webdevtools/archive/2009/05/04/web-deployment-web-config-transformation.aspx