Tuesday, January 21, 2014

“Microsoft .NET Framework 4 (x86 and x64) and Update for .NET Framework 4 (KB2468871)” ClickOnce Bootstrapper always installs a Japanese Language Pack

Now this is a nasty one I discovered quite recently:

Due to an error in the Microsoft .NET Framework 4 (x86 and x64) and Update for .NET Framework 4 (KB2468871) bootstrapper package, the ClickOnce setup you create in Visual Studio will always install a Japanese Language Pack - provided you selected ANY deployment language in Visual Studio.

This behavior is caused by an incorrect link in the language resource XML file located in your Program Files folder.

For example, if your project’s deployment language is Czech, the XML file is located in:

c:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\DotNetFX40KB2468871\cs\Package.xml

There, under the name DotNetFX40FullLanguagePackBootstrapper, you can find this URL:


If you substitute the & for an & and test the link in your browser, you will see that it tries to download a Japanese version of the Language Pack. The correct link for the Czech Language Pack would be ending with clcid=0x405.

This is unfortunately true not only for Czech, but for all the language resource XML files for this bootstrapper, so unless you plan to install a Japanese Language Pack or you don’t need any Language Pack at all, you should probably fix this.

The fix is relatively straightforward, just correct the link in each of the language resource XML files. I hate to do this manually every time so I created a simple installation script that helps me out. Feel free to use it if you like!