Udostępnij za pośrednictwem


Deploying Windows 7 Language Packs via ConfigMgr

During a Windows 7 64-bit deployment project the customer gave me a requirement to allow users to install a variety of language packs without adding all of them to the baseline image to keep the size down.  They are already using ConfigMgr to advertise applications for user self-service so this seemed the most logical method to provide this capability.

Windows 7 language pack setup, lpksetup, includes parameters to support a managed installation.  I successfully tested the following from the command prompt:

lpksetup.exe /i de-DE /p . /r /s

I advertised a program with this command line, but it quickly failed.  The test system returned an error status message, ID 10003: “An error occurred while preparing to run the program for advertisement….  The operating system reported error 2147942402: The system cannot find the file specified.”

Execmgr.log contained the following:

File C:\Windows\SysWOW64\CCM\Cache\…\lpksetup.exe is not a valid executable file
Invalid executable file lpksetup.exe

I altered the program command line to directly reference the executable at %WinDir%\System32\lpksetup.exe with the same result.

Since ConfigMgr executes from a 32-bit process I launched a 32-bit command prompt (C:\Windows\SysWOW64\cmd.exe) to manually try the lpksetup command line.

C:\Windows\SysWOW64>C:\Windows\System32\lpksetup.exe /?
'C:\Windows\System32\lpksetup.exe' is not recognized as an internal or external command, operable program or batch file.

C:\Windows\SysWOW64>dir C:\Windows\System32\lpksetup.exe
Volume in drive C is OSDisk
Volume Serial Number is 1234-5678

Directory of C:\Windows\System32

File Not Found

It turns out that lpksetup.exe on Windows 7 64-bit is a 64-bit-only process so with WOW file redirection in a 32-bit process C:\Windows\System32 redirects to C:\Windows\SysWOW64, which does not contain lpksetup.exe.  So I altered the ConfigMgr program command line to:

%WinDir%\SysNative\lpksetup.exe /i de-DE /p . /r /s

Using the SysNative alias allowed the language pack to be successfully installed on Windows 7 64-bit from a ConfigMgr advertised program.

Comments

  • Anonymous
    January 01, 2003
    thanks for sharing.

  • Anonymous
    January 01, 2003
    thanks for sharing.

  • Anonymous
    January 31, 2012
    What a hero, thanks a lot :)

  • Anonymous
    March 03, 2014
    Good info! I wasn't getting the exact same error message (my setup was throwing a much more general 0X80070490 error) but it appears the root cause is the same. I affected this change on my Language Pack install package and it's now deploying on the 64-bit machines correctly. Thanks!

  • Anonymous
    May 22, 2014
    The comment has been removed

  • Anonymous
    June 12, 2014
    I love you forever, been pulling my hair out trying to figure it out

  • Anonymous
    September 08, 2014
    Thanks a lot. This is very helpful for me.

  • Anonymous
    May 08, 2015
    The SysNative option helped, but users who don't have admin permissions on the workstation are being prompted for username/password after selecting this application for installation.