如何在Wix捆绑包中为MSIPackage定义IACCCEPTSQLLOCALDBLICENTERMS

本文关键字:MSIPackage 定义 IACCCEPTSQLLOCALDBLICENTERMS 包中 Wix | 更新日期: 2023-09-27 18:29:44

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

我在安装过程中遇到一个错误,IACCCEPTSQLLOCALDBLICENTERMS命令行参数丢失。

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

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

但我不能像ExePackage 那样定义InstallCommand

感谢

如何在Wix捆绑包中为MSIPackage定义IACCCEPTSQLLOCALDBLICENTERMS

您需要在MsiPackage内创建一个名为IACCEPTSQLLOCALDBLICENSETERMS、值为YES:的MsiProperty

<!-- 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位、标准与快速等)。有关详细信息,请参阅此博客。

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