【问题标题】:WiX 3.8 Installing IIS Express and SQL Server LocalDB 2012WiX 3.8 安装 IIS Express 和 SQL Server LocalDB 2012
【发布时间】:2026-01-08 09:30:01
【问题描述】:

我正在尝试使用 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>

How to install IIS Express 8 and SQL Server 2012 using WiX?

【问题讨论】:

    标签: iis wix iis-express iis-8 wix3.8


    【解决方案1】:

    这似乎工作正常

    <?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>
    

    【讨论】: