From: MowGreen on

I don't think you can automate the installation of a Language Pack via
the WUA without invoking Lpksetup.exe :

Understanding Language Packs

" You can install a language pack to Windows in one of the following ways:

* Install language packs directly to a mounted Windows image by
using Package Manager. This scenario is useful if you create a single
image that you can deploy across your organization. This is the typical
OEM scenario. For more information, see Install a Language Pack to an
Offline Image.
* Copy language packs to the \Langpacks directory of a Windows
distribution. During Windows Setup, the language packs will be installed
to the computer. This scenario is useful if you do not intend to edit
the Windows image and intend to provide support for multiple language
packs where necessary. This is the typical corporate scenario. For more
information, see Copy a Language Pack to the Windows Distribution.
* Use the Language Pack Setup tool to install a language pack. The
Lpksetup.exe tool must run on a running Windows operating system. This
scenario is useful if you change the installed language of a running
Windows operating system. This is the typical end-user scenario. You
should only use this scenario for language packs that are stored outside
of the Windows image. For more information, see Use the Language Pack
Setup Tool to Install a Language Pack. "

> Lpksetup Command-Line Options
> You can use Lpksetup to perform unattended or silent-mode language pack operations.
> Lpksetup runs only on an online Windows operating system.

The automated installation of LPs is way beyond my skills so if I'm
wrong, it won't be the first time. <w>
I'm not even certain which newsgroup to refer you to.

*-343-* FDNY
Never Forgotten
"Security updates should *never* have *non-security content* prechecked"

Dorel Sturm wrote:

> Hi,
> We have a problem here installing the Windows VISTA and Windows 7 Language Packs updates in silent mode.
> We wrote an application that uses the WUA COM interfaces (IUpdateSearcher, IUpdate, IUpdateInstaller2 etc.). We use this application
> to scan for available updates, download the updates and install them. Everything works OK until we get to download and install the
> VISTA (Windows 7) lannguage packs updates (e.g. 'German Language Pack - Windows 7 for x64-based Systems (KB972813)'): these updates
> cannot be installed in silent mode.
> Our application is a service and has no user interface. The patches (updates) should be installed in silent mode also when no user
> is logged on. Here is (a pseudo code of) what we are using:
> ///////////////////////////////////////////////////////////////
> Set us = CreateObject("Microsoft.Update.Session")
> Set Updates = CreateObject("Microsoft.Update.UpdateColl")
> Set Download = us.CreateUpdateDownloader()
> Set usearch = us.CreateUpdateSearcher()
> Set usresult = usearch.Search("Type='Software' and UpdateID='9326166F-2541-4C08-BEF8-64D912D7A464'") ' ID of German Lanuguage Pack
> Set ourUpdate = usresult.Updates.Item(0)
> Updates.Add(ourUpdate)
> Download.Updates = Updates
> Set result = Download.Download() ' download works OK
> ourUpdate.AcceptEula()
> Set Install = us.CreateUpdateInstaller() ' create the installer
> Install.ForceQuiet = true
> Install.Updates = Updates
> Set installed = Install.Install() 'install the installers.
> The result of the installation is 'The update does not support the current action (install or uninstall)'
> (WU_E_UH_DOESNOTSUPPORTACTION) and this is because we used ForceQuiet = true in the IUpdateInstaller2 COM interface. As documented
> in IUpdateInstaller2 not all the installers supports this action and we think German Language Pack update is one of these.
> When we use Install.ForceQuiet = false then the installation will fail with error 'Interactive user is missing to finish the
> operation' (WU_E_NO_INTERACTIVE_USER) and we think this is because the code is running into a service in the SYSTEM account.
> Our question is: how can we install Windows VISTA and Windows 7 Language Packs updates in silent mode using WUA COM interfaces
> (IUpdate, IUpdateInstaller2, etc.) from a service running into SYSTEM account? Are there some workarounds?
> Thanks for your help.
> Dorel Sturm