【问题标题】:wix unexpected child element 'Website'wix 意外的子元素“网站”
【发布时间】:2012-11-26 09:02:14
【问题描述】:

使用下面的代码,一切都编译没有任何错误。但是当我运行生成的 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>

我收到错误消息。我已经按照您上面提到的更改了代码。 我附上了截图和这个

【问题讨论】:

    标签: wix wix3


    【解决方案1】:

    我认为这里的问题是您没有在组件中创建网站,因此安装程序只是尝试查找现有网站。相反,您可能应该有这样的东西:

    <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>
    

    因此,网站将被创建为一个单独的组件。我相信,既然你已经指定了一个端口号,如果一个网站已经存在于该端口上,那么它将修改该现有网站而不是创建一个新网站。

    更新:如错误所示,您需要将 Directory 属性添加到指向“DPDIR”的 WebSite 元素。我已经更新了上面的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多