安裝 SQL Server 2005 時提示「性能計數器註冊表設置不一致」,導致安裝阻塞。
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009 (英文系統)。...\\Perflib\\0804。HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\0804。Counter 最大值 (如 5276)、Help 最大值 (如 5277)。...\\Perflib 下:Last Counter = 5276 (十進制)、Last Help = 5277 (十進制)。
$langId = (Get-CimInstance Win32_OperatingSystem).OSLanguage # 返回 2052 (十進制) = 0804 (十六進制)
$perflib = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib"
$maxCounter = (Get-ItemProperty "$perflib\$("{0:X4}" -f $langId)").Counter | Measure-Object -Maximum | Select -Expand Maximum
$maxHelp = (Get-ItemProperty "$perflib\$("{0:X4}" -f $langId)").Help | Measure-Object -Maximum | Select -Expand Maximum
Set-ItemProperty $perflib -Name "Last Counter" -Value $maxCounter
Set-ItemProperty $perflib -Name "Last Help" -Value $maxHelp
Write-Host "Fixed: Last Counter=$maxCounter, Last Help=$maxHelp for LangID 0x$("{0:X4}" -f $langId)"
Last Counter/Help 與 Perflib\ 最大值一致性。