我创建了一个安装程序,用户可以选择从下拉列表中选择一个网站(下拉列表将列出所有可用的网站)并提供虚拟目录的名称。
代码:
<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)的值都正确。但是应用程序仍然在默认网站下。
如果我做错了什么,有人可以纠正我。