我想在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'。
也许我需要一些参考?我应该发布所有代码吗?
感谢您的帮助。 亚切克
答案 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>
答案 2 :(得分:0)
您应该使用'BootStrapperFile'而不是BootstrapperFileMax。
我正在使用BootStrapperFile并且工作正常。
SQL Server 2005 Express Edition