Monday, December 28, 2015

Deploying IE 11- IEAK vs Script

We are nearing our deployment deadlines for IE 11 and have come across a few options from MS to use.  I'm surprised this script here https://support.microsoft.com/en-us/kb/3061428 hasn't been widely known over IEAK.  We could have used use SCCM SUP but we wanted a more controlled method over Software Updates deployment.   We can pre-stage this ahead of time by setting up the advertisements in advanced due to low bandwidth connections in our retail environment.

The link is how to create a script to deploy an all-inclusive IE 11 package w/o needing to go to the internet to download any missing pre-reqs, language packs, and dictionary.  You can also add the latest cumulative update at the end to ensure your clients are updated after restart.

Having used the IEAK it is no different than using the standalone package as it will still download what it needs.  I have packaged the pre-reqs using the IEAK but it still needs the language and dictionary packs.  Unless I built it wrong, I checked the temp folders and log and it still downloaded the pre-reqs, regardless it's not the all-inclusive package.  Our retail environment has POS devices that do not have internet access and is why this has failed on them.   Since the IEAK is a wrapper, regardless if it succeeds or fails, it will show as a "succeeded" in SCCM.  Using the script provides a more clear status including Pending Reboots.

If your environment is English only then you're ready to with what's on the link above.

A note for deploying both versions using dism, you may need to put the path and they are different in x86 and x64 Windows.  If you have already deployed IE 11, you can find the c:\windows\IE11_Main.log for the syntax used which is the same as in the link.

x86
C:\Windows\System32\dism.exe

x64
C:\windows\SysNative\dism.exe

For our environment, it didn't stop there.  We had to account for the various lang packs installed in the OS  in the images and various geographic regions through out the world.   Our global image standard used everywhere had 13 languages if a machine was imaged within the last 2 years.  If before that then it was only localized, if needed.

We tried to see if we can bundle all languages /dictionary packs for every language in our environment and see if that would work.  In testing, that did not and will roll back taking a few hours to become ready again.

With that failure it seems it would only work with what languages are already installed.  We had created a reg query in the script to only install what was found for the available language under the registry key below.  This has worked well for the latest and varied images with less lang packs.   The newer machines with 13 language packs to install has taken up to 30-40 minutes to install, English only takes less than 5 minutes.

Registry key for Install OS language packs
HKLM\SYSTEM\CurrentControlSet\Control\MUI\UILanguages\

If you have any failed installs you may want to run this to remove any current packages and retry it after a restart.

FORFILES /P %WINDIR%\servicing\Packages /M Microsoft-Windows-InternetExplorer-*11.*.mum /c "cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fname /norestart /quiet"

If you want to remove the language packs, run the command below as an example for Korean.  The /r suppress restarts and it is not quick to uninstall a language pack.

lpksetup /u ko-KR /r