I posted an article yesterday about .NET Framework setup packaging, and I got some really good follow-up questions that I want to address. Instead of just posting answers in the comments section of my other article I decided to create a new post to give these issues a little more visibility. So, here they are in question and answer format. Thank you all for reading my blog and sending your questions and comments. If you have any more questions and/or feedback please keep sending them my way….
1. Could you please clarify about the language versions of SP1 for the .NET Framework 1.1? There are separate versions of SP1 – one for Windows Server 2003 and another one for other Windows versions. The Windows Server 2003 version is available in 18 languages, the other version is available in 22 languages. Do these SP languages only apply to the setup UI or also to the framework bits (language DLLs)?
There are a couple of really good points here that I forgot to address in yesterday’s post.
The first point is how the version of the .NET Framework 1.1 that is included as part of the Windows Server 2003 OS compares and contrasts to the redistributable version installed by dotnetfx.exe. Key points here are the following:
· The .NET Framework 1.1 is installed by the OS optional component manager technology (OCM) using an INF file and sysocmgr.exe when installing or upgrading to Windows Server 2003.
· The English language version of Windows Server 2003 contains the equivalent of the bits installed by the v1.1 dotnetfx.exe.
· The non-English versions of Windows Server 2003 contain the equivalent of the bits installed by the v1.1 dotnetfx.exe and the bits installed by the matching language of the v1.1 langpack.exe.
· If you try to install the v1.1 dotnetfx.exe on Windows Server 2003, it will block you from doing so with a message saying that it is already part of the OS.
· If you try to install the matching language of the v1.1 langpack.exe on a non-English Windows Server 2003, it will block you from doing so with a message saying that it is already part of the OS.
· If you try to install a non-matching language of the v1.1 langpack.exe on Windows Server 2003 it will install like on any other OS.
The second point is how the .NET Framework 1.1 service packs are packaged and delivered. Because the version delivered by dotnetfx.exe is MSI-based and the version delivered by Windows Server 2003 is OCM-based, there are 2 separate service packs – one targeting each installation technology. If you use Windows Update to install .NET Framework 1.1 SP1, you should only be offered one of the packages though, because Windows Update will examine the OS you are running on and offer you only the package that applies to it.
Also, the .NET Framework 1.1 shipped in 22 languages, but Windows Server 2003 only shipped in 18 languages. That is why you see a discrepancy in the number of languages offered for each service pack. The bits that are patched by the two different sets of 1.1 service packs is identical.
2. The .NET Framework 1.1 language packs also seem to install a localized version of .NET Framework Configuration and Wizards shortcuts under Administrative Tools. This is a pain because I want multilingual satellite assemblies on my server, but I don’t want additional multilingual shortcuts.
When we created the .NET Framework 1.1 core and language pack setup and packaging model, we left the installation story for these configuration and wizard shortcuts in a pretty broken state. In 1.1 setup, dotnetfx.exe will install 2 shortcuts to the Administrative Tools folder with English text and tooltips. Then each subsequent language pack that is installed on the machine will install 2 additional shortcuts to the Administrative Tools folder. These additional shortcuts point to the same 2 tools but the text and tooltips are translated into the non-English language.
This scenario does not affect Windows Server 2003 because the .NET Framework 1.1 is installed with the OCM setup technology, and OCM has special logic that enables the installation of multi-lingual shortcuts using an INF file. This means that on Windows Server 2003, if you install one or more OS MUI language packs, then change your UI language settings, the name and tooltip of the 2 .NET Framework 1.1 shortcuts in the Administrative Tools folder will be automatically translated into your chosen UI language.
The good news is that in v2.0 the .NET Framework redist will no longer install these shortcuts, so this scenario where redundant translated shortcuts are installed will be eliminated.
3. Will the order of install of the .NET Framework language packs have any significant impact? For example: If I install the English language pack first and then the French will that cause any different behavior than installing them the other way around?
Installing the .NET Framework 1.1 or 2.0 language packs can be done in any order and the machine state will be the same at the end. There is one thing to note here however – there is not an English language pack. Instead, the English language resources are installed as part of the dotnetfx.exe core package.