使用下面的代码,一切都编译没有任何错误。但是,当我运行生成的MSI时,我看不到在IIS中创建任何站点:
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:iis='http://schemas.microsoft.com/wix/IIsExtension'>
<iis:WebSite Id='dp_service_site' Description='Default Web Site'>
<iis:WebAddress Id="AllUnassigned" Port="80" />
</iis:WebSite>
.
.
<DirectoryRef Id='DPDIR'>
<Component Id='dservice' DiskId='1' Guid ='21e0c49d-e9a6-4de6-894c-d0632ea45f5a'>
<iis:WebVirtualDir Id='dp_wvd' Alias="DocumentPublisher" Directory='DPDIR' WebSite='dp_service_site'>
<iis:WebApplication Id='dp_app' Name='Default Application' WebAppPool='dp_pool' Isolation='medium'>
</iis:WebApplication>
</iis:WebVirtualDir>
<iis:WebAppPool Id='dp_pool' Identity='networkService' Name='dservice' />
</Component>
</DirectoryRef>
.
.
<Feature Id='Service' Title='Document Service' Level='1'>
<ComponentRef Id='dservice' />
</Feature>
</Wix>
我收到错误。我已根据您上面提到的更改了代码。 我已经附上了截图和
答案 0 :(得分:2)
我认为这里的问题是您没有在组件中创建WebSite,因此安装程序只是尝试查找现有网站。相反,你应该有这样的东西:
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:iis='http://schemas.microsoft.com/wix/IIsExtension'>
.
.
<DirectoryRef Id='DPDIR'>
<Component Id='dservice' DiskId='1' Guid ='21e0c49d-e9a6-4de6-894c-d0632ea45f5a'>
<iis:WebVirtualDir Id='dp_wvd' Alias="DocumentPublisher" Directory='DPDIR' WebSite='dp_service_site'>
<iis:WebApplication Id='dp_app' Name='Default Application' WebAppPool='dp_pool' Isolation='medium'>
</iis:WebApplication>
</iis:WebVirtualDir>
<iis:WebAppPool Id='dp_pool' Identity='networkService' Name='dservice' />
</Component>
<Component Id='website'>
<iis:WebSite Id='dp_service_site' Description='Default Web Site' Directory='DPDIR'>
<iis:WebAddress Id="AllUnassigned" Port="80" />
</iis:WebSite>
</Component>
</DirectoryRef>
.
.
<Feature Id='Service' Title='Document Service' Level='1'>
<ComponentRef Id='dservice' />
<ComponentRef Id'website' />
</Feature>
</Wix>
那么网站将作为一个单独的组件创建。我相信,既然你已经指定了一个端口号,如果该端口上已经存在一个网站,那么它将修改现有的网站,而不是创建一个新网站。
UPDATE:如指示的错误,您需要将Directory属性添加到指向“DPDIR”的WebSite元素。我已经更新了上面的例子。