我卸载了 sql server 2008 r2 然后安装它但现在收到一个错误:
标题:SQL Server 安装失败。
SQL Server 安装程序遇到以下错误:
MsiGetProductInfo 无法检索产品代码为“{A2122A9C-A699-4365-ADF8-68FEAC125D61}”的软件包的 ProductVersion。错误代码:1605。
纽扣:
好的
答案1
- 进入开始菜单
- 运行 -> regedit
- 编辑
HKEY_CLASSES_ROOT\Installer\UpgradeCodes
- 重命名
UpgradeCodes
为UpgradeCodesOld
- 重新安装 SQL SERVER
答案2
解决方案(已在我这边起作用) ********************************* 从您收到的错误消息中获取产品代码 = '{0826F9E4-787E-481D-83E0-BC6A57B056D5}'。
将第一部分从 0826F9E4 字节反转为 4E9F6280。在注册表中搜索 HKEY_CLASSES_ROOT\Installer\UpgradeCodes 并尝试找到匹配项。
备份注册表并删除父项。重新运行升级,如果对于不同的 GUID 再次失败,则重复上述步骤。
就我而言,我必须重复这些步骤三次,因为还有另外 3 个位置需要更改产品代码。然后设置成功。
答案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