Thursday, December 20, 2012

Changing Display language

What happens when I change the Display language?

In Control Panel > Region and Language > Keyboards and Languages, if you change the Display language...



You get this...



...and this...




MUI Installation

Installing additional display languages is a little complicated, because you need to download the correct MUI pack for your specific OS version and Service Pack level. If you receive a "corrupted or invalid language pack file" error, then you probably have the wrong MUI file for your computer's OS  service pack.

Windows Server 2008 R2 Service Pack 1 MUI files can be found here:
http://www.microsoft.com/en-us/download/details.aspx?id=12250

You may also need this:
http://www.microsoft.com/en-us/download/details.aspx?id=1246


Notes

- System Locale is a "global" setting, and is established when the OS is installed
- User Locale is user-configurable. User Locale is configured via Control Panel > Region and Language > Formats tab
- User Locale also configures Thread Locale. Thread Locale is the locale used by applications launched by the user. Thread Locale can be overridden programmatically


Displaying Chinese Characters

Windows Server 2008 R2 and Windows 7 have what they need "out of the box" to display Chinese characters



Additional reading


All About Unicode, UTF8 & Character Sets
http://coding.smashingmagazine.com/2012/06/06/all-about-unicode-utf8-character-sets/

Configurable Language and Cultural Settings
http://msdn.microsoft.com/en-us/goglobal/bb964662.aspx

...

Original question: "My database supports UTF-8, and the application should be able to display Chinese characters. What do I need to install on the PC or server for this to work?"

Configure most V1 performance counters in one .REG file

Version 2 Counters
The below will not work for version 2 (V2) counters that are registered in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\_V2Providers
  • May require use of UNLODCTR
  • http://msdn.microsoft.com/en-us/library/windows/desktop/aa373172%28v=vs.85%29.aspx

Version 1 Counters
The below works for version 1 (V1) counters that are registered in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services


This will:
- Disable all of the .NET counters
- Disable all of the ASP.NET counters
- Disable MSDTC counters
- Enable Disk counters
- Disable "ServiceModel" counters
- Disable Spooler counters (especially helpful on a Terminal Server, Remote Desktop Server, or Citrix XenApp Server)
- Enable network counters
- Disable Windows Workflow Foundation counters
- If not mentioned, other counters are left at their "default" state

In general, this "cleans up" the PERFMON counter list. Addition of counters (querying the counters) happens a lot faster, both locally and when monitoring remotely.

Edit to taste and enjoy

- - -

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\.NET CLR Data\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\.NET CLR Networking\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\.NET CLR Networking 4.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\.NET Data Provider for Oracle\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\.NET Data Provider for SqlServer\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\.NET Memory Cache 4.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\.NETFramework\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ASP.NET\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ASP.NET_2.0.50727\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ASP.NET_4.0.30319\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ASP.NET_64_2.0.50727\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\aspnet_state\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ContentFilter\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ContentIndex\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IPSec\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ISAPISearch\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC Bridge 3.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC Bridge 4.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Outlook\Performance]
"Disable Performance Counters"=dword:00000004

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\PerfDisk\Performance]
"Disable Performance Counters"=dword:00000000

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\PerfProc\Performance]
"Disable Performance Counters"=dword:00000000

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\RemoteAccess\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceModelEndpoint 4.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceModelOperation 3.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceModelOperation 4.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceModelService 3.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceModelService 4.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\SMSvcHost 3.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\SMSvcHost 4.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Spooler\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TapePerf\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TapiSrv\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Performance]
"Disable Performance Counters"=dword:00000000

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Windows Workflow Foundation 3.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Windows Workflow Foundation 4.0.0.0\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WmiApRpl\Performance]
"Disable Performance Counters"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WSRM\Performance]
"Disable Performance Counters"=dword:00000001

Performance benefits of enabling write caching and using a RAID controller that supports a battery backed write cache


The white line represents the Avg. Disk Write Queue Length

When the white line is at the high point on the chart:
- The RAID controller cache was configured to 100% read, 0% write
- The queue length is 7, meaning there are 7 write operations waiting in queue
- System responsiveness is choppy, with users reporting long delays

When the white line is at the low point on the chart:
- The RAID controller cache was configured to 25% read, 75% write
- The queue length is 0, meaning there are 0 write operations waiting in queue
- System responsiveness is "normal," with users reporting no issues

In this example
- The server is using an HP P400 RAID controller
- 4 physical HDDs in a RAID 1+0 configuration (stripe sets that are mirrored)

Notes
- Data in a controller cache or HDD cache will be lost during a power outage, so a battery backed cache is recommended
- HP disables the "on the HDD" cache for HDDs participating in a RAID array by default. In my tests with the "on the HDD" cache enabled, there was a slight performance loss

Wednesday, December 19, 2012

How to run Windows Update even if your administrator has disabled it

Windows Server 2008 R1, R2 
Windows Vista
Windows 7


Make the following registry changes:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoWindowsUpdate"=-

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate]
"DisableWindowsUpdateAccess"=-

[HKEY_USERS\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate]
"DisableWindowsUpdateAccess"=dword:00000000

Enable and start the Windows Update service

Run Windows Update (%SystemRoot%\system32\wuapp.exe startmenu)


Windows 2003
Windows XP

Make the following registry changes:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoWindowsUpdate"=-

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate]
"DisableWindowsUpdateAccess"=-

[HKEY_USERS\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate]
"DisableWindowsUpdateAccess"=dword:00000000

Enable and start the Background Intelligent Transfer service

Enable and start the Automatic Updates service

Run Windows Update

CMD Script for 2003/XP
regedit /s EnableWindowsUpdate.reg

sc config bits start= demand
net start bits
sc config bits start= auto
sc config wuauserv start= demand
net start wuauserv
sc config wuauserv start= auto
start iexplore.exe http://update.microsoft.com