Невозможно установить пакет с загрузчиком WiX
У меня есть настройка WiX для моего приложения C#.
У меня есть WiX Bootstrapper, используемый для установки приложения, .NET Framework и SQL Server.
У меня 2 проблемы с установкой для SQL сервера.
- На ПК с установленным приложением мой загрузчик не обнаруживает его и пытается переустановить. В лог-файл я вижу
"Ключ реестра не найден. Ключ = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\ Имена экземпляров \SQL'"
Но я проверил с помощью regedit, я получил регистр:
Вот мой код:
<util:RegistrySearch
Id="SqlInstanceKeyFound"
Root="HKLM"
Key="SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL"
Value="SQLEXPRESS"
Result="exists"
Variable="SQLServerInstalled" />
- На ПК без приложения установка завершилась с ошибкой 0x84b40000.
Вот мой код:
<ExePackage Id="SQLExpressx64"
SourceFile=".\Resources\SQLEXPR_x64_ENU.exe"
PerMachine="yes"
Cache="no"
Compressed="no"
DownloadUrl="https://download.microsoft.com/download/0/4/B/04BE03CD-EAF3-4797-9D8D-2E08E316C998/SQLEXPR_x64_ENU.exe"
Permanent="yes"
Vital="yes"
InstallCommand="/q /hideconsole /action=Install /features=SQL /instancename=SQLEXPRESS /enableranu=1 /sqlsvcaccount="NT Authority\Network Service" /AddCurrentUserAsSqlAdmin /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck"
InstallCondition="VersionNT64 AND NOT SQLServerInstalled" />
Спасибо за помощь
1 ответ
Я не эксперт, однако, я работал над этим.
Мой код был (работает):
<util:RegistrySearch
Id="regsearchSqlInstanceFound"
Root="HKLM"
Key="SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL"
Value="$(var.SqlInstanceName)"
Result="exists"
Variable="SqlInstanceFound"
/>
Моя переменная значения была:
<?define SqlInstanceName=MSSQLSERVER?>