2012-11-26 3 views
2

Avec le code ci-dessous, tout est compilé sans aucune erreur. Mais quand je lance le résultat MSI, je ne vois pas un site créé dans IIS:Wix élément enfant inattendu « Site »

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

Je reçois l'erreur. J'ai changé le code comme vous l'avez mentionné ci-dessus. Je joins la capture d'écran ainsi que

Répondre

2

Je crois que le problème ici est que vous ne créez pas le WebSite dans un composant, à la place, le programme d'installation essaie simplement de rechercher un site Web existant. Au lieu de cela, vous devriez probablement avoir quelque chose comme ceci:

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

Alors le site web sera créé comme un composant séparé. Je crois que puisque vous avez spécifié un numéro de port, si un site Web existe déjà sur ce port, il va modifier ce site existant au lieu d'en créer un nouveau.

MISE À JOUR: Comme l'erreur indiquée, vous devez ajouter un attribut de répertoire à l'élément WebSite pointant vers 'DPDIR'. J'ai mis à jour mon exemple ci-dessus.

+0

J'ai changé et se erreur – Rakesh

+0

j'ai édité mon exemple pour corriger l'erreur comme décrit. – ChrisPatrick

Questions connexes