WiX 3.8安装IIS Express和SQL Server LocalDB 2012
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WiX 3.8安装IIS Express和SQL Server LocalDB 2012相关的知识,希望对你有一定的参考价值。
我正在尝试使用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>
答案
这似乎工作正常
<?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="ResourcesLogoSide.png" />
<Payload SourceFile="ResourcesLogo.png" />
</BootstrapperApplicationRef>
<WixVariable Id="SuppressOptionsUI" Value="Yes"/>
<WixVariable Id="WixExtbaThemeXml" Value="ResourcesBundle2Theme.xml" />
<WixVariable Id="WixExtbaThemeWxl" Value="ResourcesHyperlinkTheme.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>
以上是关于WiX 3.8安装IIS Express和SQL Server LocalDB 2012的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 wix 3.8 安装程序在 windows 文件夹中创建文件夹
WiX 3.8:使用相同注册表值的两个MSI。如果同时卸载两个MSI,如何删除注册表值?
Wix 3.5 和 IIS7 - WriteIIS7ConfigChanges 失败 - 在尝试将三个 Web 应用程序作为虚拟目录安装到默认网站时