2016-01-11 3 views
0

Не могли бы вы мне немного помочь, как определить параметр командной строки IACCEPTSQLLOCALDBLICENSETERMS в моем пакете Wix, который будет использоваться при установке Microsoft SQL Server 2014 Express Localdb.Как определить IACCEPTSQLLOCALDBLICENSETERMS для MSIPackage в Wix Bundle

У меня возникла ошибка во время установки того, что параметр командной строки IACCEPTSQLLOCALDBLICENSETERMS отсутствует.

я называю SQLLocalDb.msi с помощью следующей команды:

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

Но я не в состоянии определить InstallCommand, как и в случае ExePackage

Благодарности

ответ

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 express и т. Д.). См. Это 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> 
+0

SQLSERVERDB2012_EXIST - это предопределенное условие, или я должен установить его в соответствии с чем-то? – tstanitz

+0

Вы можете проигнорировать этот бит, вам просто нужно добавить 'MsiProperty' – Jaco

+0

Хорошо, я понимаю, но если бы я хотел проверить, что Microsoft SQL Server 2014 Express Localdb уже установлен, тогда я должен проверить его в реестре, или существует предопределенное условие, такое как NETFRAMEWORK45 в случае .Net framework? – tstanitz