我有一个要为我们的一个内部产品安装的网站,并且想知道是否有一种方法可以设置多个<WebAddress/>
块,以便有条件地与这个网站一起安装?
考虑下面我的基本网站创作:
<Component
Id="WebsiteComp"
Directory="INSTALLDIR"
Guid="{702AF20D-F9F3-45A1-B966-890855904591}"
KeyPath="yes">
<iis:WebAppPool
Id="AppPool"
Name="OurSite"
ManagedPipelineMode="Integrated"
ManagedRuntimeVersion="v4.0"/>
<iis:WebSite
Id="Website"
Description="[WEBSITENAME]"
Directory="INSTALLDIR">
<iis:WebApplication
Id="WebApp"
Name="[WEBSITENAME]"
WebAppPool="AppPool"/>
<!-- if ENV = "DEV" -->
<iis:WebAddress
Id="DevHostHeader"
Header="dev.product.company.com"
Port="80"/>
<!-- if ENV = "QA" -->
<iis:WebAddress
Id="QaHostHeader"
Header="qa.product.company.com"
Port="80"/>
<iis:WebAddress
Id="QaHostHeader"
Header="product.qa1.company.com"
Port="80"/>
<!-- if ENV = "PROD" -->
<iis:WebAddress
Id="ProdHostHeader"
Header="prod.product.com"
Port="80"/>
</iis:WebSite>
</Component>
<Component/>
是条件可以应用于的最具体的元素。但是为了在那里指定条件,我必须为每个环境复制我所有的网站作者,对吗?
有没有办法创建一个版本的<WebAppPool/>
, <WebSite/>
,然后根据属性值的条件插入/选择<WebApplication/>
不同的版本和数量(如上例中的 QA) ?<WebAddress/>
我真的不想为特定环境制作多个版本的安装程序。
谢谢你,
扎卡里