wix 3.0意外的子元素'网站'

时间:2009-08-13 16:01:53

标签: windows installer wix

我正在尝试创建网站安装程序并使用wix。我正在使用本教程 http://www.dalun.com/wix/01.05.2007.htm

我必须更改我的脚本才能使用

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

因为它抱怨

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

所以我的脚本看起来像这样

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

我收到此错误

C:\ Downloads \ wix3.0.5419.0-binaries \ firstWebsite \ firstwebsite.wxs(13):error CN DL0005:Component元素包含一个意外的子元素'WebSite'。 C:\ Downloads \ wix3.0.5419.0-binaries \ firstWebsite \ firstwebsite.wxs(18):错误CN DL0005:Component元素包含一个意外的子元素'WebVirtualD IR”。

wix 3.0不支持网站标记?

3 个答案:

答案 0 :(得分:7)

在wix 3.0中,网站元素位于different namespace。通过更改

中的wix元素来声明命名空间
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>

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

然后将<WebSite>元素称为<iis:WebSite>。将相同的前缀添加到其他与Web相关的元素。

此外,您需要使用以下选项运行candle.exelight.exe-ext WixIIsExtension

答案 1 :(得分:2)

从WiX v2源代码升级到WiX v3源代码时,请尝试使用WiX v3工具WixCop.exe。它会自动为你解决这些问题。

答案 2 :(得分:0)

只需将对WixIIsExtension.dll的引用添加到Wix安装项目。可以在安装bin目录中找到Dll。例如C:\ Program Files \ WiX Toolset v3.8 \ bin \ WixIIsExtension.dll