Install Language Pack On Windows Server Core (2012 R2)

language-packswindows-server-2012windows-server-2012-r2windows-server-core

I have language packs KB3012997 and KB2839636 staged and approved in Windows Server Update Services 2012 R2, but my Windows Server Core 2012 R2 clients refuse to install it. After googling the issue, it appears that these language pack updates are unable to be installed via WSUS, and have to be manually installed on the clients via the Language Control Panel. Unfortunately the Language Control Panel is not available on the Core edition of Windows server, both control.exe input.dll and control.exe /name Microsoft.Language do not work. I've tried installing the CAB files manually with dism /online /Add-Package /Package-Name:E:\WsusContent\65\F1C5505C26603C0E907DEDD5A4B3A0E6511E44C65.cab but the updates are not registered as being installed in the WSUS console.

How can I go about getting these language packs installed on Server Core 2012 R2? Yes I know these language packs do little to nothing on Server Core. And that I could work around this issue by creating separate groups in the WSUS console for the Core and non-Core editions of Windows Server, and approving these updates only for the non-Core editions. But to satisfy my autism i'd like to get these updates installed anyways, because if they really were never intended to target Core editions of Windows Server, i'm assuming the WSUS console wouldn't say my Core servers are applicable for them. Right now the only way I can think of is using a tool like Altiris RapidInstall or Sysinternals Process Monitor to see what file/registry changes are made while adding a language pack on a non-Core edition of Windows Server, after it has already been installed with dism.exe and then applying these changes to the Core edition servers.

Best Answer

This is working as designed. It is a "feature" / "defect" of WSUS exposed by a select group of "updates" that are not in fact updates in the typical meaning of the term.

Certain WSUS updates including language packs are detected as applicable to a machine in the sense that they may optionally be installed manually by some mechanism outside of Windows Update. By approving the update you are making the update available to be downloaded from WSUS however this does not actually trigger any automatic download or installation. It is necessary to trigger the update through another tool such as the Control Panel language settings.

In addition to language packs various dynamic installers have similar functionality for similar reasons. The dynamic installers are downloaded from WSUS at the time that an installation is run, but are not in fact updates for the system upon which the installation is being run (they update the installer, not the system). They will not register as installed because they do not get installed onto the system, and may be downloaded multiple times if the installer is run multiple times.

This is working as designed, so it is a "feature" that WSUS is able to provide the files from a content delivery system under administrative control and presumably caching/delivering the content closer to the client.

This is fundamentally different from the typical expected behaviour of WSUS, so it is arguably a design "defect" that WSUS handles optional components including language packs in a completely different manor from the vast majority of updates which will automatically be installed by Windows Update.

To install on server core the DISM or LPKSETUP commands can be used. https://technet.microsoft.com/en-us/library/hh825679.aspx https://technet.microsoft.com/en-us/library/hh825178.aspx