安裝/升級 SQL Server 時出現 MsiGetProductInfo 找不到產品代碼 {GUID} 的 ProductVersion,主因是登錄升級代碼殘留導致 Windows Installer 誤判產品仍存在。
{F1F1E854-0CF5-7485-B999-4BE9E02D29193}。F1F1E854(去掉大括號與連字號),倒序重組:F1F1E854 → 458E1F1F(每兩字元一組倒序)。regedit,定位至:HKEY_CLASSES_ROOT\Installer\UpgradeCodes458E1F1F,找到後刪除其父機碼(整個升級代碼機碼)。
5. 若錯誤訊息列出多個 GUID,重複上述步驟逐一清理。
6. 關閉登錄編輯器,重新執行 SQL Server 安裝程式。
ProductVersion 失敗報錯。{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} 前 8 字元(第一段)每兩字元一組反轉,對應 UpgradeCodes 子機碼名稱。Get-ChildItem HKCR:\Installer\UpgradeCodes -Recurse | Where-Object { $_.PSChildName -like '*458E1F1F*' } | Remove-Item -Recurse -ForceHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer 等)。
3. 使用 SQL Server 安裝精靈的「維護」→「移除」功能可最完整清理。
掌握 UpgradeCode 倒序查找技巧,快速解決 SQL Server 及其他 MSI 安裝程式的「產品代碼找不到」疑難雜症。