每当安装功能A或B时,我都会创建一个新的WebSite
:
<Component Id="IIS.HelloWorld" Guid="6FA5EF90-C9D9-463C-9CC7-0410670AFBD1" Directory="TARGETDIR">
<iis:WebSite Id="IIS.HelloWorld" Description="Hello World for Web" Directory="INSTALLDIR">
<iis:WebAddress Id="HelloWorldAddress" IP="*" Port="8080"/>
</iis:WebSite>
</Component>
WebSite指向INSTALLDIR(Say C:\ MyFiles)。在INSTALLDIR下面,我还有2个额外的文件夹:服务(C:\ MyFiles \ Service)和 Web (C:\ MyFiles \ Web)
由于WebSite指向INSTALLDIR,所有子目录(服务和 Web )都被自动视为虚拟目录(?) - 我可以看到它们已链接通过IIS管理控制台,我可以通过浏览器访问它们。
但是,它们需要“转换”为应用程序(通过右键单击虚拟目录并选择“转换为应用程序”手动完成,以使它们正常工作(它们包含ASPX和ASMX文件)。
所以我添加了以下组件以尝试将它们转换为“应用程序”:
<Component Id="IIS.HelloWorld.WebSite.VirtualDirectory" Guid="GUID-44D1-48D9-BB3C-4B0126FB83E5" Directory="TARGETDIR">
<iis:WebVirtualDir Id="IIS.HelloWorld.WebSite.VirtualDirectory" Alias="Service" Directory="INSTALLDIR.WebSite" WebSite="IIS.HelloWorld">
<iis:WebApplication Id="IIS.HelloWorld.WebSite.VirtualDirectory" Name="Service"/>
</iis:WebVirtualDir>
</Component>
但虚拟目录未转换为“应用程序”;它们仍然只是虚拟目录。
问题:如何将虚拟目录转换为WiX中的应用程序?或者处理这种情况的正确方法是什么?
谢谢!
答案 0 :(得分:0)
我的坏。我将错误的虚拟目录别名绑定到错误的Web应用程序名称。
此代码有效:
<Component Id="IIS.HelloWorld.WebSite.VirtualDirectory" Guid="GUID-44D1-48D9-BB3C-4B0126FB83E5" Directory="TARGETDIR">
<iis:WebVirtualDir Id="IIS.HelloWorld.WebSite.VirtualDirectory" Alias="Web" Directory="INSTALLDIR.WebSite" WebSite="IIS.HelloWorld">
<iis:WebApplication Id="IIS.HelloWorld.WebSite.VirtualDirectory" Name="Web"/>
</iis:WebVirtualDir>
</Component>