2009-08-13 4 views
5

Ich versuche, eine Website-Installer zu erstellen und verwende wix. Ich benutze dieses Tutorial http://www.dalun.com/wix/01.05.2007.htmwix 3.0 unerwartete Kind Element 'Website'

i

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 

zu verwenden, musste mein Skript zu ändern, weil es wurde über

<Wix xmlns='http://schemas.microsoft.com/wix/2003/01/wi'> 

so mein Skript sieht wie folgt aus

<?xml version='1.0' encoding='Windows-1252'?> 
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> 
    <Product Id='6197b262-b2d8-464c-9d0b-6cade171b46f' Name='WixWebSiteExample' Language='1033' Version='0.0.0.0' Manufacturer='Corporation'> 
     <Package Id='439d5627-cc07-4a41-9f50-b201ae3f8202' Description='Creating a web site with WiX' Comments='Creating a web site with WiX' InstallerVersion='200' Compressed='yes' /> 

     <Media Id='1' Cabinet='product.cab' EmbedCab='yes' /> 

     <Directory Id='TARGETDIR' Name='SourceDir'> 
     <Directory Id='ProgramFilesFolder' Name='PFiles'> 
      <Directory Id='ApplicationFolder' Name='AppDir'> 
       <Component Id='WebSiteComponent' Guid='6b27e78e-bcbc-462a-bd7a-50cf991c7d39' DiskId='1'> 
        <File Id='WixExampleFile' Name='simple.txt' src='bin\simple.txt' /> 
        <WebSite Id='DefaultWebSite' Description='My First Web Site Created With WiX' Directory='ApplicationFolder'> 
        <WebAddress Id="AllUnassigned" Port="80" /> 
        </WebSite> 
       </Component> 
       <Component Id="WebVirtualDirComponent" Guid="8d7c59c0-b84d-40d9-b3a5-0c73b6487ae4"> 
        <WebVirtualDir Id="VDir" Alias="Test" Directory="ApplicationFolder" WebSite="DefaultWebSite"> 
         <WebApplication Id="TestWebApplication" Name="Test" /> 
        </WebVirtualDir> 
       </Component> 
      </Directory> 
     </Directory> 
     </Directory> 

     <Feature Id='TestProductFeature' Title='Wix File Product Feature' Level='1'> 
     <ComponentRef Id='WebSiteComponent' /> 
     <ComponentRef Id='WebVirtualDirComponent' />   
     </Feature> 
    </Product> 
</Wix> 
klagen

Ich erhalte diesen Fehler

C: \ Downloads \ wix3.0.5419.0-Binärdateien \ firstWebsite \ firstwebsite.wxs (13): Fehler CN DL0005: Das Komponentenelement enthält ein unerwartetes Kindelement 'WebSite'. C: \ Downloads \ wix3.0.5419.0-Binärdateien \ firstWebsite \ firstwebsite.wxs (18): Fehler CN DL0005: Das Komponentenelement enthält ein unerwartetes Kindelement 'WebVirtualD ir'.

wird das Website-Tag in wix 3.0 nicht unterstützt?

Antwort

7

In WIX 3.0 befindet sich das Website-Element in einer different namespace. Deklarieren den Namensraum durch Ändern der wix Element aus

<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> 

zu

<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' 
    xmlns:iis='http://schemas.microsoft.com/wix/IIsExtension'> 

und dann zu dem <WebSite> Element als <iis:WebSite> beziehen. Fügen Sie den anderen webbezogenen Elementen dasselbe Präfix hinzu.

Darüber hinaus müssen Sie candle.exe und light.exe mit dieser Option ausführen: -ext WixIIsExtension.

2

Verwenden Sie beim Aktualisieren von WiX v2-Quellcode auf WiX v3-Quellcode das WiX v3-Tool WixCop.exe. Es wird diese Dinge automatisch für dich reparieren.

0

Fügen Sie einfach einen Verweis auf WixIIsExtension.dll zum Wix Setup-Projekt hinzu. Dll kann im Verzeichnis Install Bin gefunden werden. z.B. C: \ Programme \ WiX Toolset v3.8 \ bin \ WixIIsExtension.dll