【发布时间】:2010-08-18 00:27:48
【问题描述】:
我安装了一个 Wix,它通过以下方式在 IIS 中创建一个虚拟目录:
<DirectoryRef Id="INSTALLLOCATION">
<Component Id="VirtualDirectory" Guid="29BEECCC-AA5F-11DF-BBB1-9C0AE0D72085">
<iis:WebVirtualDir Id="MyVDir" Directory="INSTALLLOCATION" Alias="MyVDir" WebSite="DefaultWebSite">
<iis:WebApplication Id="MyApplication" Name="MyVDir" />
</iis:WebVirtualDir>
<CreateFolder />
</Component>
</DirectoryRef>
<iis:WebSite Id="DefaultWebSite" Description="Default Web Site">
<iis:WebAddress Id="AllUnassigned" Port="80" />
</iis:WebSite>
但是,如果该网站的 80 端口绑定已被删除,则会失败。
<iis:WebAddress /> 元素和Port 属性都是强制性的,但在这种情况下完全是多余的——我不在乎网站的端口是什么,只要它创建了我的虚拟目录!
有没有什么方法可以让上述安装程序成功创建虚拟目录而不提示用户输入端口号?
【问题讨论】:
-
如果你创建一个虚拟目录,为什么你认为那个端口无关紧要??!虚拟目录 - 在哪里?在一个网站上。什么网站?在端口 xyz
-
@abatishchev - 为什么会很重要?一旦我确定要在站点上创建描述为“XYZ”的虚拟目录,可以指定该站点存在的端口,在这种情况下它可以工作(并为“所有端口”创建虚拟目录),或者我指定一个不存在的,并且它不起作用 - 它本质上是一个非常复杂的“安装失败”布尔标志。
标签: iis wix virtual-directory