Не удается установить пакет с загрузчиком WiX

У меня есть настройка WiX для моего приложения c#.

У меня есть загрузчик WiX, используемый для установки приложения, .NET framework и SQL Server.

У меня 2 проблемы с установкой SQL server.

  • На компьютере с установленным приложением Мой загрузчик не обнаруживает его и пытается повторно установить. В файле журнала я вижу

«Раздел реестра не найден. Key = ‘HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerInstance NamesSQL'»

Но я проверил с regedit, я получил реестр :

Введите описание изображения здесь

Есть мой код :

<util:RegistrySearch
    Id="SqlInstanceKeyFound"
    Root="HKLM"
    Key="SOFTWAREMicrosoftMicrosoft SQL ServerInstance NamesSQL"
    Value="SQLEXPRESS"
    Result="exists"
    Variable="SQLServerInstalled" />
  • На компьютере без приложения установка завершилась ошибкой 0x84b40000.

Есть мой код :

  <ExePackage Id="SQLExpressx64"
              SourceFile=".ResourcesSQLEXPR_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=&quot;NT AuthorityNetwork Service&quot; /AddCurrentUserAsSqlAdmin /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck"
              InstallCondition="VersionNT64 AND NOT SQLServerInstalled" />

Спасибо за помощь

1 ответ

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