2

以下のコードを使用すると、すべてがエラーなしでコンパイルされます。しかし、結果の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>

エラーが発生します。上記のようにコードを変更しました。これと一緒にスクリーンショットを添付しました

4

1 に答える 1

2

ここでの問題は、コンポーネント内にWebサイトを作成していないことだと思います。そのため、インストーラーは既存のWebサイトを検索しようとしているだけです。代わりに、おそらく次のようなものが必要です。

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

したがって、Webサイトは別のコンポーネントとして作成されます。ポート番号を指定しているので、そのポートにWebサイトが既に存在する場合は、新しいWebサイトを作成するのではなく、既存のWebサイトを変更すると思います。

更新:エラーが示すように、「DPDIR」を指すWebSite要素にDirectory属性を追加する必要があります。上記の例を更新しました。

于 2012-11-26T13:44:06.290 に答える