Назад | Перейти на главную страницу

Ошибка установки SQL Server

Я удаляю sql server 2008 r2, а затем устанавливаю его, но теперь получаю сообщение об ошибке:

НАЗВАНИЕ: Ошибка установки SQL Server.

Программа установки SQL Server обнаружила следующую ошибку:

MsiGetProductInfo не удалось получить ProductVersion для пакета с кодом продукта = '{A2122A9C-A699-4365-ADF8-68FEAC125D61}'. Код ошибки: 1605 ..


КНОПКИ:

хорошо

  1. перейти в меню "Пуск"
  2. Выполнить -> regedit
  3. редактировать HKEY_CLASSES_ROOT\Installer\UpgradeCodes
  4. переименовать UpgradeCodes к UpgradeCodesOld
  5. Переустановите SQL SERVER еще раз

Ссылка

РЕШЕНИЕ (сработало на моей стороне) ******************************** Получите код продукта = '{0826F9E4-787E -481D-83E0-BC6A57B056D5} из получаемого сообщения об ошибке.

Байт переверните первую часть с 0826F9E4 на 4E9F6280. Найдите в реестре в разделе HKEY_CLASSES_ROOT \ Installer \ UpgradeCodes и попробуйте найти совпадение.

Сделайте резервную копию реестра и удалите родительский ключ. Повторно запустите обновление, и если оно снова не удастся для другого GUID, повторите шаги, указанные выше.

В моем случае мне пришлось повторить эти шаги трижды, так как было еще 3 места, где мне нужно было изменить код продукта. Тогда установка прошла успешно.

Если вы ПОЛНОСТЬЮ отчаялись, вы можете попробовать следующий сценарий PowerShell, который меня несколько раз спасал. Этот сценарий PowerShell создает файл «.bat», который можно запустить для полного удаления SQLServer. Пожалуйста, внимательно проверьте содержимое этого .bat файла перед его запуском! Возможно, выполняйте действия по одному шагу за раз:

# Be careful with that axe, Eugene.
#
# Generate a bat file named 'uninstallSQL.bat' to completely uninstall SQL Server from a machine.
# Content of the .bat file MUST be reviewed before execution, in order to REMOVE things you want
# to keep.

Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall | 
select @{Name='Guid';Expression={$_.PSChildName}}, @{Name='Disp';Expression={($_.GetValue("DisplayName"))}} | 
where-object {$_.Disp -ilike "*SQL*"} | 
where-object {$_.Guid -like '{*'} | 
% {"rem " + $_.Disp; 'msiexec.exe /x "' + $_.Guid + '" /passive'; ''} > uninstallSQL.bat