Tag Archives: Server 2003

Configuring “Language for non-Unicode programs” via the registry in Server 2003.

As a break from server 2008 r2 profiles, I recently had a customer with a character display issue in our xenapp environment. Their local characters were not displaying correctly when run from our English XenApp servers. The language in question was Czech and numerous characters were incorrect or null in application menu’s and data contained in the application.

Testing the Microsoft AppLocale utility ended in utter failure, so we had no choice but to modify the default unicode option on the server 2003 operating system to change this to Czech.

Now this is all very simple to do from a console, start > run > intl.cpl > advanced and choose your language from a drop down list. But what if you want to automate, or script it?

No group policy exists for managing this option, and the documentation / forums online do not cover a full answer to the question. This also cannot be applied on a per user basis, this is strictly a per machine setting.

In my case, the language needed was Czech, and the below steps assume Czech language, this probably will work for any other… but let it be known here’s your disclaimer!

The process we’ll use, is to capture the regional and language options from one server, then export them for the remaining servers.

Step 1: create the necessary changes:

  • As mentioned above, click start, run, Intl.cpl.
  • Choose the advanced tab:

  • Choose the language you wish from the drop down list:

  • Hit Apply
  • Choose “yes” from the dialogue box, to skip the file copy if needed

  • Choose “no” to restart later.

click “Ok” to close.

Step 2: capture the changes:

  • Create a folder on the root of the c: drive, called “c:unicode-export”
  • Once you’ve made the changes listed above, fire up regedit (start > run > regedit).
  • Export the following keys to the c:unicode-export folder to .reg files:
  • (right click the key, and choose export, I named them 1-6 respectively for convenience.)
  1. [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontMapper]
  2. [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFonts]
  3. [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontSubstitutes]
  4. [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionGRE_Initialize]
  5. [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNls]
  6. [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetHardware ProfilesCurrentSoftwareFonts]
  • Copy the following file to the c:unicode-export folder:
  1. c:windowssystem.ini

Once finished, you should end up with 6 registry files, and 1 ini file in the “c:unicode-export” folder:

Step 3: import the settings on the subsequent servers:

  • Copy the c:unicode-export folder from your source server to the target server:
  • import the keys / ini with this simple script:

for /f /%%a in (‘dir /s /b c:unicode-export*.reg’) do regedit -s %%a

copy /y c:unicode-exportsystem.ini c:windows

Note: (if you run this from a command line, outside of a batch file, replace %%a with %a.)

And that’s it, once the script is finished you can delete the c:unicode-export folder and restart the server.

This was a massive pain in the arse to get to the bottom of (excuse the pun) so I hope its useful to somebody! I’ll also be reviewing this by the end of the year for server 2008 r2.

How to install server 2003 r2 disk 2 Silently.

During out Enteo rollout we were faced with a problem of how to either A: stop server 2003 from prompting us to install cd or B: just install the useless cd to register the operating system as R2. After a bit of digging, and some help from a very friendly consultant called Hans from Frontrange, we came up with the following method.

You need to create a .CAB file of the entire cd of r2, extract it using extract.exe to the root of the c drive, run the installation then delete the extracted files (if you wish).

Sounds simple eh? you have no idea how much of a pain in the backside this was. Firstly ill put this out there for anyone who tries to use the CRAPPY utilities by microsoft for creating cab files, DONT BOTHER. After 2 hours of tinkering and scripting the steaming pile of useless cab files was quite proportionate.

To answer this question to anyone googling, here it is:

How do i create a cab file from a source folder? Use tugzip. One problem with tugzip and cabs its seems to hang on 100% with the only option to cancel, this seems to be normal, so just wait for 2-3 mins on 100% then cancel away.

The only problem here is that if you have the files above the c: prompt the files will not install correctly, tugzip remembers the path of the zipped files after the drive prompt, so if you zipped c:mydocs2003r2 extract will put them back in that exact folder.

Heres what you do:

  • copy your installation files to a folder anywhere on your disk.
  • use the subst command to map the folder to the root of a free drive (subst z: c:mydocs2003r2)
  • now browse to the z: drive and use tugzip to create your archive file.

you can of course bypass all the above if you place the cd in the drive and use the cd’s drive letter ;) its amazing how simple an answer that WOULD have been if i had thought of it.

Once you have done that, its simple scripting time!

copy servernamesharenameextract.exe c:
copy servernamesharename2003r2cd2.cab c:
c:extract.exe /E 2003R2CD2.cab /L c:2003R2CD2 /y
C:2003R2CD2CMPNENTSR2setup2.exe /q /a /p:xxxxx-xxxxx-xxxxx-xxxxx-xxxxx /sr
rd c:2003R2CD2 /s /q
del extract.exe
del 2003R2CD2.cab


your server (post reboot) should report server 2003 r2 correctly. Might be worth noting that server 2003 enterprise and standard do NOT share the same cd. So if you have an environment with both, time to repeat the above steps for the other cd.

Services fail to start, Citrix

“Error 1069: The service did not start due to a logon failure when attempting to manually start either the Citrix SMA Service or the Citrix Print Manager Service”

In a nutshell this means that your sma user (Ctx_SmaUser in 4.0) is fubar’d.

To get over this, you could do all this (and i really do mean ALL) or you could run this new application.

Very handy little tool altogether for when that user account just crashes and burns. having had to do it the old way I can in no uncertain terms tell you just how easier this will make your life!

Make sure to download the app to a nice handy location (c: for example) and run it from a command prompt, don’t just feckin double click it, it gives feedback :)