我创建了一个安装程序,用户可以选择从下拉列表中选择一个网站(下拉列表将列出所有可用的网站)并提供虚拟目录的名称。
代码:
<iis:WebVirtualDir Id="PCVDir" Alias="[VDNAME]" Directory="dir_MDMCenter_0" WebSite="MySelectedWebSite">
<iis:WebApplication Id="PCWebApp" Name="[VDNAME]" WebAppPool="MyAppPool" />
</iis:WebVirtualDir>
<iis:WebAppPool Id="MyAppPool" Name="[APPPOOLNAME]" ManagedRuntimeVersion="v4.0" ManagedPipelineMode="integrated" Identity="localSystem" IdleTimeout="0" RecycleMinutes="0">
</iis:WebAppPool>
<iis:WebSite Id="MySelectedWebSite" Description="[MYWEB_WEBSITE_DESCRIPTION]">
<iis:WebAddress Id="AllUnassigned1" Port="[MYWEB_WEBSITE_PORT]" IP="[MYWEB_WEBSITE_IP]" Header="[MYWEB_WEBSITE_HEADER]" />
</iis:WebSite>
当用户安装并选择“默认网站”以外的网站时,虚拟目录始终会在“默认网站”中创建。
分析:
我创建的新网站在端口80上运行。我已停止默认网站,因为它也在端口80上运行。 现在,当我们在其他网站上安装时,虚拟目录位于默认网站下。似乎在WIX或IIS的某处有绑定,说端口80映射到默认网站。
在日志中,我验证了所有变量(MYWEB_WEBSITE_DESCRIPTION,MYWEB_WEBSITE_PORT)的值是否正确。但仍然应用程序在默认网站下。
如果我做错了,有人可以纠正我。
答案 0 :(得分:0)
您似乎必须创建自定义操作以填充网站的下拉框并安装在不同的网站下。请尝试参考
http://blog.torresdal.net/2008/10/24/WiXAndDTFUsingACustomActionToListAvailableWebSitesOnIIS.aspx