Performance counter registry hive consistency check failed at Traditional Chinese Windows Server 2003 - by ChrisTorng

Status : 

  Fixed<br /><br />
		This item has been fixed in the current or upcoming version of this product.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.


13
0
Sign in
to vote
ID 312847 Comments
Status Closed Workarounds
Type Bug Repros 10
Opened 11/27/2007 11:14:05 PM
Access Restriction Public

Description

311246 "SQL Server 2008 Nov CTP Installation error" had been closed by OS issue.
And I have resolve this problem by myself.

I open setup log "\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20071128_1313\xxxx_20071128_1313_Detail.txt" and found the error was raised from
"Microsoft.SqlServer.Configuration.SetupExtension.FacetPerfMonCheck"
I use Reflector to open "\Program Files\Microsoft SQL Server\100\Setup Bootstrap\
Microsoft.SqlServer.Configuration.SetupExtension.dll" and found
"FacetPerfMonCheck.CheckPerfMonCounter()" function.
After write my own small program to show the values inside it,
I found the problem is a wrong LCID.

The second line is:
string str2 = string.Format("{0,3}", CultureInfo.InstalledUICulture.Parent.LCID.ToString("X")).Replace(" ", "0");

In my Windows Vista Ultimate SP1 RC0 Traditional Chinese and
Windows Server 2003 Standard SP2 Traditional Chinese, it return "7C04".
Then it want to open the registry key
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\7C04" but not exists.
My Vista have "009" and "0404", Windows Server 2003 have "004" and "009".
Neither have "7C04".
After copy "004"'s Counter/Help to new created "7C04" key, the setup passed.

So I don't know it's a wrong LCID that perfmon created, or a wrong LCID that setup searching.
But I know that if LCID can be "7C04", then string.Format("{0,3}", LCID) is incorrect.
So english Windows maybe won't encounter this problem, but other language Windows may. Previous issue was been reported all by Traditional Chinese Windows users, so I still think the wrong is setup itself, so I open this bug.
Sign in to post a comment.
Posted by Kostya Grygoryev - Managing Partner on 6/3/2011 at 5:12 AM
Reproduced as well on Windows 7 Russian Professional SP1 and just downloaded SQL Server 2008 Management Studio Express... It seems 3.5 years is not enough to fix the issue...
Hack with copying values from "009" hive works well.
Posted by Basaksan on 4/9/2010 at 4:47 AM
I reproduced the bug while installing SQL Server 2008 to a machine running Vista.

My Vista has Japanese as the InstalledUICulture and English as the CurrentUICulture. The following line produces "009" for English and "011" for Japanese.

string.Format("{0,3}", CultureInfo.InstalledUICulture.Parent.LCID.ToString("X")).Replace(" ", "0");

I have the performance counter registry keys "Counter" and "Help" under the key ...\Perflib\009 but not ...\Perflib\011. So like ChrisTrong did, I copied these keys to ...\Perflib\011 as a workaround. It worked.

Maybe the installer should use CurrentUICulture instead of InstalledUICulture.
Posted by Eric Ouellet on 1/28/2010 at 6:51 AM
This bug is back and probably never been solved.
I installed Windows Vista Enterprise French SP1. Then SP2 and the langage pack "english".
I try to install SQL Server 2008 english but failed with error:

"Performance counter registry hive consistency" >>>
Rule "Performance counter registry hive consistency" failed. ... see http://support.microsoft.com/This bug is back and probably never been solved.
I installed Windows Vista Enterprise French SP1. Then SP2 and the langage pack "english".
I try to install SQL Server 2008 english but failed with error:

"Performance counter registry hive consistency" >>>
Rule "Performance counter registry hive consistency" failed. ... see http://support.microsoft.com/kb/300956.

This knowledbase (kb/300956) can't be followed because the perf*.dat file does not exists in the setup. In fact there is no i386 folder at all on Windows Vista x64..

This knowledbase can't be followed because the perf*.dat file does not exists in the setup. In fact there is no i386 folder at all on Windows Vista x64.
Posted by Yuri de Jager on 5/20/2009 at 4:11 AM
Excellent. I created the missing REG entries after monitoring with Regmon and the inistallation continued.
Posted by immijs on 12/1/2008 at 1:02 AM
Thank You!
It was a great help. Solved a problem for Latvian Vista SP1
Posted by Jaimir Guerrero on 9/11/2008 at 8:05 PM
Thank,
It works for VISTA ULTIMATE SP1 SPANISH
Posted by Amy [MSFT] on 11/29/2007 at 3:08 PM
Chris -

We will be fixing this issue in a future CTP.

Thanks,

Amy Lewis