1. Welcome Guest! In order to create a new topic or reply to an existing one, you must register first. It is easy and free. Click here to sign up now!.
    Dismiss Notice

Installing VISTA/Windows 7 language pack updates in silent mode using WUA COM interfaces

Discussion in 'Windows Update' started by Dorel Sturm, Oct 7, 2009.

  1. Dorel Sturm

    Dorel Sturm Guest

    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
     
  2. MowGreen

    MowGreen Guest

    Re: Installing VISTA/Windows 7 language pack updates in silent modeusing WUA COM interfaces

    Dorel,

    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.
    "
    <!--coloro:blue--><span style="color:blue <!--/coloro-->
    > 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.<!--colorc--><!--/colorc-->

    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.

    MowGreen
    ===============
    *-343-* FDNY
    Never Forgotten
    ===============

    banthecheck.com
    "Security updates should *never* have *non-security content* prechecked"



    Dorel Sturm wrote:
    <!--coloro:blue--><span style="color:blue <!--/coloro-->
    > 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
    >
    > <!--colorc--><!--/colorc-->
     
  3. You'd be much better off posting in this forum:


    Dorel Sturm wrote:<!--coloro:blue--><span style="color:blue <!--/coloro-->
    > 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 <!--colorc--><!--/colorc-->
     

Share This Page