Wix:我不能使用一些标签:/

时间:2010-05-06 17:09:27

标签: installer wix install

我想在Wix中创建安装程序。我使用与VS2008 Professional集成的3.5版本。 我需要检测MS SQL Server安装(我这样做)并最终安装它。我尝试使用bootstrapper,有代码:

    <ItemGroup>
      <BootstrapperFileMax Include="Microsoft.Sql.Server.Express.9.2">
        <ProductName>SQL Server 2005 Express Edition</ProductName>
      </BootstrapperFileMax>
    </ItemGroup>

编译器返回错误信息:

错误2:Product元素包含意外的子元素'ItemGroup'。

也许我需要一些参考?我应该发布所有代码吗?

感谢您的帮助。 亚切克

3 个答案:

答案 0 :(得分:2)

如错误所示,WiX产品元素不能包含ItemGroup。

有关Product元素及其有效子元素的说明,请参阅此处。

http://wix.sourceforge.net/manual-wix2/wix_xsd_product.htm

通常将引导程序代码添加到msbuild文件(.csproj文件)中,而不是wix .wxs文件,我认为这可能是你放置它的位置 - 请参阅此处以获取有关如何执行此操作的说明:

http://wix.sourceforge.net/manual-wix3/install_dotnet.htm

如果这不能解决您的问题,可能会将.wxs和.wxproj文件的全部内容添加到问题中 - 这应该提供足够的上下文来帮助人们解决您的问题。

答案 1 :(得分:0)

很可能没有正确放置ItemGroup标记。这是一个简短的例子:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <BootstrapperFile Include="Microsoft.Net.Framework.2.0">
      <ProductName>Microsoft .NET Framework 2.0</ProductName>
    </BootstrapperFile>
    <BootStrapperFile Include="Microsoft.ReportViewer.8.0">
      <ProductName>Microsoft Report Viewer</ProductName>
    </BootStrapperFile>
  </ItemGroup>

  <Target Name="Bootstrapper">
    <GenerateBootstrapper
      ApplicationFile="WixBootstrapSample.msi"
      ApplicationName="Wix Sample"
      BootstrapperItems="@(BootstrapperFile)"
      OutputPath=".\"
      ComponentsLocation="HomeSite"
      Culture="en"
    />
  </Target>
</Project>

示例来自wixwiki。有关如何部署其他组件的更详细说明,您可以找到here

答案 2 :(得分:0)

您应该使用'BootStrapperFile'而不是BootstrapperFileMax。

我正在使用BootStrapperFile并且工作正常。

    SQL Server 2005 Express Edition