作为我的WiX安装的一部分,我将所有已转换/已编译的web.config文件复制到安装目录。已编译的web.config的名称格式为web。{ENV} .config。在我的安装UI中,我创建了一个自定义对话框,在该对话框中解析ENV并填充组合框,以便用户可以选择我们部署到的环境。此组合框设置属性ENV。WiX - 将基于环境的已编译的web.config复制到网站根目录
我需要了解如何使用此属性将安装的配置文件复制到网站根目录。
更新:@Rob_Mensching - 您的解决方案在编译时工作,但是,在编译时,WiX迫使我为每个这样的组件创建一个GUID。有没有办法可以避免它?事情是我要通过在我的wxs文件上运行XSLT来生成这段代码,该文件使用热生成;有没有办法,我可以使用XSLT生成GUID
这是我的代码现在的样子(或可以吗?):
<ComponentGroup Id='web.config' Directory='CONFIGLOCATION'>
<Component Id='CopyWebConfigForDev1' Guid='{F207C26A-5D9C-4F19-96A3-D818BB226EFC}' >
<Condition>ENV="Dev1"</Condition>
<CopyFile Id='CopyDev1Config' FileId='fil9C4CFE42035F1A63180142352CF441BC' DestinationDirectory='CONFIGLOCATION' DestinationName='web.config'/>
</Component>
<Component Id='CopyWebConfigForQA1' Guid='{F207C26A-5D9C-4F19-96A3-D818BB226EFC}' >
<Condition>ENV="QA1"</Condition>
<CopyFile Id='CopyQA1Config' FileId='fil12F8B50F03F1BD91A579F6B6CE7195DF' DestinationDirectory='CONFIGLOCATION' DestinationName='web.config'/>
</Component>
</ComponentGroup>
我不知道我是否正确地构建了我的问题,但是您提供的解决方案实际上会将该环境的web.config文件安装到我的安装位置,例如INSTALLLOCATION/configs文件夹。 但我实际上希望我所有的web.configs都去INSTALLLOCATION/configs文件夹位置,然后根据我选择的环境,然后安装程序应该将环境的web.config从INSTALLLOCATION/configs文件夹复制到INSTALLLOCATION。 – vaibinewbee 2013-03-14 15:55:10
好的,根据这些信息更新我的代码。 – 2013-03-14 16:26:21