您能否帮我一点,如何在我的Wix包中定义IACCEPTSQLLOCALDBLICENSETERMS命令行参数,以便在安装Microsoft SQL Server 2014 Express Localdb时使用。
我在安装过程中遇到错误,缺少IACCEPTSQLLOCALDBLICENSETERMS命令行参数。
我使用以下命令调用SQLLocalDb.msi:
<MsiPackage SourceFile="$(var.SolutionDir)Prerequisites\SqlLocalDB.msi" Compressed="yes" />
但我无法像ExePackage
那样定义InstallCommand由于
答案 0 :(得分:1)
您需要MsiProperty
内MsiPackage
,名称为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比特,标准vs快递等)。有关详细信息,请参阅此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>