/build/static/layout/Breadcrumb_cap_w.png

Installing IE11 upgrade with SCCM2012 R2

Hi, 

First time poster here

As you know by now, MS stops support of browsers older that IE11. I was assigned a task to deploy upgrade to IE11 on about 4,000 computers. Our environment is pretty mixed when it comes to versions of IE, installed patches. It includes Windows 7 and 8, both 32 and 64 versions. 
I did try packaging it with IEAK 11.  It works Ok about 75% of the time, but I still was getting failures when deployed with SCCM2012 R2 . Besides those failures, IEAK is not packaging the latest revision of the IE11 and it is not installing update KB2929437 (if you add it to the optional components in IEAK11 - that KB is required to run IE11 with Enterprise mode enabled). You could configure IEAK11 packaged file to reboot after IE11 installation to install that KB, but it's not a good idea to do it with SCCM deployments (you should make SCCM handle computer reboots, otherwise your deployments will fail). 

What I ended up doing is created a package with all prerequisites, IE11 off-line setup files, IE11 setup Branding files (created with IEAK11), and Powershell script IE11_Install.ps1.  Here is the screenshot of the package content :
xdfihN.png  
To get those .CAB files, I extracted .MSU files with 7-Zip.

The content of the IE11_Install.ps1 file:

$scriptPath = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent

if((Test-Path "C:\Temp\IE11Upgrade") -eq $false)
    {
     New-Item -ItemType Directory -Force -Path C:\Temp\IE11Upgrade
    }

if((Test-Path "C:\Temp\IE11Upgrade\IE11Extract") -eq $false)
    {
     New-Item -ItemType Directory -Force -Path C:\Temp\IE11Upgrade\IE11Extract
    }


Switch ($env:PROCESSOR_ARCHITECTURE){
    "AMD64" {
        Copy-Item -Path $scriptPath\*x64*.* -Destination "C:\Temp\IE11Upgrade" -Force -ErrorAction SilentlyContinue
                
        #Install Prerequisites x64
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2670838.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2670838-x64.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2786081.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2786081-x64.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2834140-v2.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2834140-v2-x64.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2729094-v2.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2729094-v2-x64.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2731771.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2731771-x64.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2533623.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2533623-x64.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2639308.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2639308-x64.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2888049.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2888049-x64.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2882822.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2882822-x64.cab /NoRestart' -Wait

        #Install IE11
        Start-Process -FilePath "C:\Temp\IE11Upgrade\IE11-Windows6.1-x64-en-us.exe" -ArgumentList "/X:C:\Temp\IE11Upgrade\IE11Extract /quiet" -Wait
        Start-Process dism.exe -ArgumentList "/Online /Add-Package /PackagePath:C:\Temp\IE11Upgrade\IE11Extract\IE-Win7.CAB /norestart" -Wait
        Start-Process -FilePath "C:\Windows\SysWOW64\wusa.exe" -ArgumentList "C:\Temp\IE11Upgrade\IE11Extract\IE-Spelling-en.MSU /quiet /norestart" -Wait
        Start-Process -FilePath "C:\Windows\SysWOW64\wusa.exe" -ArgumentList "C:\Temp\IE11Upgrade\IE11Extract\IE-Hyphenation-en.MSU /quiet /norestart" -Wait 
        Start-Process msiexec.exe -ArgumentList "/i IE11-Setup-Branding_x64.msi /q /norestart  /L*v C:\Windows\Logs\IE11-Setup-Branding_x64.log" -Wait
        Wait-Process -Name msiexec -Timeout 60

        #Post Install patches
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PostInstall_KB2929437.log /add-package /PackagePath:C:\Temp\IE11Upgrade\IE11-Windows6.1-KB2929437-x64.cab /NoRestart' -Wait
        
            }


    "x86" {
        Copy-Item -Path $scriptPath\*x86*.* -Destination "C:\Temp\IE11Upgrade" -Force -ErrorAction SilentlyContinue
        
        #Install Prerequisites x86
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2670838.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2670838-x86.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2786081.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2786081-x86.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2834140-v2.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2834140-v2-x86.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2729094-v2.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2729094-v2-x86.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2731771.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2731771-x86.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2533623.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2533623-x86.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2639308.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2639308-x86.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2888049.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2888049-x86.cab /NoRestart' -Wait
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PreInstall_KB2882822.log /add-package /PackagePath:C:\Temp\IE11Upgrade\Windows6.1-KB2882822-x86.cab /NoRestart' -Wait

        #Install IE11 x86
        Start-Process -FilePath "C:\Temp\IE11Upgrade\IE11-Windows6.1-x86-en-us.exe" -ArgumentList "/X:C:\Temp\IE11Upgrade\IE11Extract /quiet" -Wait
        Start-Process dism.exe -ArgumentList "/Online /Add-Package /PackagePath:C:\Temp\IE11Upgrade\IE11Extract\IE-Win7.CAB /norestart" -Wait
        Start-Process "C:\WIndows\system32\wusa.exe" -ArgumentList "C:\Temp\IE11Upgrade\IE11Extract\IE-Spelling-en.MSU /quiet /norestart" -Wait
        Start-Process -FilePath "C:\Windows\system32\wusa.exe" -ArgumentList "C:\Temp\IE11Upgrade\IE11Extract\IE-Hyphenation-en.MSU /quiet /norestart" -Wait 
        Start-Process msiexec.exe -ArgumentList "/i IE11-Setup-Branding_x86.msi /q /norestart  /L*v C:\Windows\Logs\IE11-Setup-Branding_x86.log" -Wait
        Wait-Process -Name msiexec -Timeout 60

        #Post Install patches
        Start-Process dism.exe -ArgumentList '/online /LogPath:C:\WIndows\Logs\IE11PostInstall_KB2929437.log /add-package /PackagePath:C:\Temp\IE11Upgrade\IE11-Windows6.1-KB2929437-x86.cab /NoRestart' -Wait
        
          }
}
        Remove-Item -Path "C:\Temp\IE11Upgrade" -Force -Recurse -ErrorAction SilentlyContinue



This script silently installs all prerequisites using DISM, then extracts install package from  IE11-Windows6.1-xXX-en-us.exe , installs extracted .CAB package, IESpelling and Hyphenation updates (with WUSA) , then KB2929437 . At the end it cleans those temporary created folders (C:\Temp\IE11Upgrade\ ).  Script is using SWITCH command to determine which version (x86 or x64) of IE and patches to install. This way you can only deploy one script to both versions of OS. I am suppressing reboots during whole phase of installation in the script and passing reboot to SCCM TS to handle. I save all DISM patch installation logs to C:\Windows\Logs\ folder.     


After the package is created and distributed to Distribution Points I created a Task Sequence with only two steps:8OrzFf.png   ORIZKJ.png




After deploying that TS to test computers you can see the directory in C:\Temp\IE11upgrade gets created with content relevant to your architecture, and log file getting generated in C:\Windows\Logs . You can also check the Event Viewer for WUSA installations. 

After deployment to first 250 computers I only had 1 failure (computer corrupted OS and full HD). 

   
I would welcome your comments or additional thoughts

Thanks. 

Comments

This post is locked
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ