2011-10-31 43 views

回答

2

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

2

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

  • 的情况下,你可以定义在构建时在app.config差异,如果是罚款,有3个不同的MSI安装包(每环境中的一个),最好是作者3个组件,它们为包装在预处理器逻辑中的每个环境保存app.config。因此,如果选择取决于特定的用户输入,您将最终得到针对特定环境的MSI包,具体取决于您如何构建
  • ,您仍然可以编写3个具有互斥条件的不同组件,条件将取决于用户输入之前在我的主要WXS文件使用沿此线的东西
2

我已经解决了这个:

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

(它指出,例如C:\ MyProjectDir \ PropertiesDebug.wxi,C:\ MyProjectDir \ PropertiesUAT.wxi等,具体取决于活动的解决方案配置)。

但是,我现在更喜欢使用新的微软方法让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

相关问题