我正在尝试使用WiX 3.8构建一个bootstraper应用程序,它将安装IIS Express 8和sql server 2012.我看到了下面的链接,但他们没有使用捆绑包,答案仅适用于sql 2012的部分我不知道需要。所有"教程"我发现它看起来非常过时 - 基于旧版本的wix。有没有人有什么建议?这是我所得到的。我似乎无法找到以答案文件或类似方式静默安装IIS或SQL Server或LocalDB。最终目标是在这些安装中不为wix提供UI。
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Name="Bootstrapper1" Version="1.0.0.0" Manufacturer="" UpgradeCode="668b68ed-5274-4413-984d-72959e8e211a">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<MsiPackage
Name="IIS Express 8"
Cache="no"
Compressed="yes"
Permanent="yes"
Vital="yes"
DisplayInternalUI="yes"
SourceFile="F:\iisexpress_8_0_RTM_x64_en-US.msi" />
<ExePackage
Name="SQL Server Express 2012"
Cache="no"
Compressed="yes"
Permanent="yes"
Vital="yes"
SourceFile="F:\SQLEXPR_x64_ENU.exe" />
<MsiPackage
Name="SQL LocalDB"
Cache="no"
Compressed="yes"
Permanent="yes"
Vital="yes"
DisplayInternalUI="yes"
SourceFile="F:\SQLLocalDB.msi" />
</Chain>
</Bundle>
</Wix>
答案 0 :(得分:0)
这似乎行得通
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
>
<Bundle Name="MyApp" Version="1.0" Manufacturer="ACME">
<BootstrapperApplicationRef Id="WixExtendedBootstrapperApplication.HyperlinkLicense">
<bal:WixExtendedBootstrapperApplication SuppressOptionsUI="yes" LicenseUrl="" />
<Payload SourceFile="Resources\LogoSide.png" />
<Payload SourceFile="Resources\Logo.png" />
</BootstrapperApplicationRef>
<WixVariable Id="SuppressOptionsUI" Value="Yes"/>
<WixVariable Id="WixExtbaThemeXml" Value="Resources\Bundle2Theme.xml" />
<WixVariable Id="WixExtbaThemeWxl" Value="Resources\HyperlinkTheme.wxl" />
<Chain>
<PackageGroupRef Id="NetFx46Redist"/>
<PackageGroupRef Id="LocalDb64"/>
<PackageGroupRef Id="LocalDb"/>
<PackageGroupRef Id="IISExpress64"/>
<PackageGroupRef Id="IISExpress86"/>
</Chain>
</Bundle>
<Fragment>
<bal:Condition Message="Requires windows 7 or higher">VersionNT >= v6.1</bal:Condition>
<PackageGroup Id="IISExpress64">
<MsiPackage
Id="IISExpress64"
Name="IIS Express 8"
Cache="no"
Compressed="no"
Permanent="yes"
Vital="yes"
DisplayInternalUI="yes"
SourceFile=".\iisexpress_8_0_RTM_x64_en-US.msi"
InstallCondition="VersionNT64" />
</PackageGroup>
<PackageGroup Id="IISExpress86">
<MsiPackage
Id="IISExpress86"
Name="IIS Express 8"
Cache="no"
Compressed="no"
Permanent="yes"
Vital="yes"
DisplayInternalUI="yes"
SourceFile=".\iisexpress_8_0_RTM_x86_en-US.msi"
InstallCondition="NOT VersionNT64" />
</PackageGroup>
<PackageGroup Id="LocalDb64">
<MsiPackage Id="SqlServerLocalDb64bit"
DisplayInternalUI="yes"
Permanent="yes"
Visible="yes"
Compressed="no"
EnableFeatureSelection="yes"
Vital="yes"
SourceFile=".\SqlLocaLDBx64.MSI"
DownloadUrl="{2}"
InstallCondition="NOT LocalDbInstalled AND VersionNT64" >
<MsiProperty Name="IACCEPTSQLLOCALDBLICENSETERMS" Value="YES" />
</MsiPackage>
</PackageGroup>
<PackageGroup Id="LocalDb">
<MsiPackage Id="SqlServerLocalDb32bit"
DisplayInternalUI="yes"
Permanent="yes"
Visible="yes"
Compressed="no"
EnableFeatureSelection="yes"
Vital="yes"
SourceFile=".\SqlLocaLDBx86.MSI"
DownloadUrl="{2}"
InstallCondition="NOT LocalDbInstalled AND NOT VersionNT64" >
<MsiProperty Name="IACCEPTSQLLOCALDBLICENSETERMS" Value="YES" />
</MsiPackage>
</PackageGroup>
</Fragment>
</Wix>