1

我正在尝试使用 WiX 3.8 构建一个引导程序应用程序,它将安装 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>

如何使用 WiX 安装 IIS Express 8 和 SQL Server 2012?

4

1 回答 1

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 &gt;= 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>
于 2018-09-06T20:43:33.753 回答