如何在 Wix Bundle 中为 MSIPackage 定义 IACCEPTSQLLOCALDBLICENSETERMS

How to define IACCEPTSQLLOCALDBLICENSETERMS for MSIPackage in Wix Bundle

你能帮我一下吗,如何在我的 Wix 包中定义 IACCEPTSQLLOCALDBLICENSETERMS 命令行参数,以便在安装 Microsoft SQL Server 2014 Express Localdb 时使用。

我在安装 IACCEPT 时出错SQL缺少 LOCALDBLICENSETERMS 命令行参数。

我使用以下命令调用 SQLLocalDb.msi:

<MsiPackage SourceFile="$(var.SolutionDir)Prerequisites\SqlLocalDB.msi" Compressed="yes" />

但我无法像 ExePackage 那样定义 InstallCommand

谢谢

您需要 MsiPackage 中的 MsiProperty 名称 IACCEPTSQLLOCALDBLICENSETERMS 和值 YES:

<!-- Sql server Installation --> 
   <PackageGroup Id="SqlLocalDB2014Installation" > 
      <MsiPackage SourceFile=".\Prerequisites\SqlLocalDB2014.MSI" Compressed="yes" EnableFeatureSelection="yes" Vital="yes" 
              InstallCondition="NOT(SQLSERVERDB2014_EXIST)"> 
    <MsiProperty Name="IACCEPTSQLLOCALDBLICENSETERMS" Value="YES"/> 
  </MsiPackage> 
</PackageGroup> 

关于检查现有安装,您确实需要检查注册表。我在下面包含了一个示例,尽管 key 将取决于确切的版本(32 位与 64 位、标准与快速等)。有关详细信息,请参阅此 blog

<property id="SQLSERVERDB2014_EXIST">
<registrysearch id="SQLServer2005orLater"
   key="Software\Microsoft\Microsoft SQL Server\Instance Names\SQL"
   name="MSSQL"
   root="HKLM"
   type="raw"
   win64="no">
</registrysearch>
</property>