Below is the complete steps to create a Internet Explorer 11 x64 package for 64 bit Windows 7.

If you are going to do IE 11 32 bit for 32 bit Windows 7, please unzip IE-11-Windows6.1-x86-en-us.exe and follow the same steps.

Download IE11-Windows6.1-x86-en-us.exe from Microsoft, try to run it on test Windows 7 x64, it is not supported with 64 bit Windows 7. We don’t need to package it.

Download IE11-Windows6.1-x64-en-us.exe from Microsoft, copy and save EXE file in a temp folder of the clean machine which didn’t have IE10 or IE 11 installed because IE 10 and IE 11 share some of prerequisites.

Create a new folder called “IE11” inside C:\temp folder

Run Command Line as admin, type “IE11-Windows6.1-x64-en-us.exe /X:C:\TEMP\IE11” which will extract the IE11 x64 installer files in the folder “c:\temp\IE11”

There are 7 files in the folder “c:\temp\IE11” which we will need them for packaging

Open SETUPDOWNLOADLIST.txt and go through the contents of this file:

 

; The following are prerequisites for installing IE

[Prerequisites]

WIN7_SP1=KB2834140 KB2670838 KB2639308 KB2533623 KB2731771 KB2729094 KB2786081 KB2888049 KB2882822

Go to Microsoft, type the KB names listed above and download all the KB for x64 Windows 7.

Using the VB script from ITNinja for IE 10. 

http://www.itninja.com/question/ie-10-silent-install-with-updates

 

Run the KBs in the sequence as in the file SETUPDOWNLOADLIST.txt

If the prerequisite is *.msu, you need to use WUSA.exe command line:   just replace the KB names and *.msu

 

'install 64-bit patch for KB2834140-v2-x64

 

LogFile.WriteLine(Now & "  -  Installing update KB2834140-v2-x64 ...") 

Return = objShell.Run("wusa.exe " & strScriptPath & "\Windows6.1-KB2834140-v2-x64.msu /quiet /norestart",0,True)

Results("KB2834140-v2-x64")

 

 

If the prerequisite is *.cab, you need to use dism.exe command line:   just replace the KB names and *.cab

 

'install 64-bit patch for KB2639308-x64

 

LogFile.WriteLine(Now & "  -  Installing update KB2639308-x64 ...") 

 

                If objFSO.FolderExists("C:\Windows\SysNative") Then

                                Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2639308-x64.cab /quiet /norestart",0,True)

                Else

                                Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2639308-x64.cab /quiet /norestart",0,True)

                End If

                               

Results("KB2639308-x64")

 

After KB2882822, we can see spelling and Hypenation from the file SETUPDOWNLOADLIST.txt

 

 

 

 

 

After applying all prerequisites in the order, the last file to run in the script will be IE-Win7.cab which is 52378 KM in size. Note: IE-Win7.cab also called Windows6.1-KB2841134-x64.CAB

 

Put all downloaded and extracted prerequisites and VB script in one folder and create the package:

 

Running IE11 x64 package through SCCM server.

The package needs to be run as admin, no reboot, end-user can reboot when it is convenient for them.

You can also choose to reboot computer after package deployed successfully.

2 Installation log files will be created, the installation is silently.

 

 

The final IE11 x64 installation VB script will be like:

Note: In the VB script, the log file is created in C:\logs folder, if you don't want to use this folder, just change the path to whatever you like.

 

 

' Setup-IE11-x64.vbs

' VB script to install IE 11 64 bit prerequisites and IE 11

 

 

On Error Resume Next

Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")

Dim objShell : Set objShell = CreateObject("WScript.Shell")

Dim objEnv : Set objEnv = objShell.Environment("Process")

objEnv("SEE_MASK_NOZONECHECKS") = 1

Dim strScriptPath : strScriptPath = objFSO.GetParentFolderName(Wscript.ScriptFullName)

Dim LogFile : Set LogFile = objFSO.OpenTextFile("C:\Logs\Microsoft_Internet_Explorer_11_x64_Prerequisites.log", 8, True)

Dim Return, KBname

 

LogFile.WriteLine(vbCrLf & "---------------------------------------------------------------------------------------------------------------------" & vbCrLf)

 

' installs prerequisites

 

LogFile.WriteLine(Now & "  -  Starts to install prerequisites for Internet Explorer 11 x64 for Windows 7 ...") 

 

 

'install 64-bit patch for KB2834140-v2-x64

 

LogFile.WriteLine(Now & "  -  Installing update KB2834140-v2-x64 ...") 

Return = objShell.Run("wusa.exe " & strScriptPath & "\Windows6.1-KB2834140-v2-x64.msu /quiet /norestart",0,True)

Results("KB2834140-v2-x64")

 

 

'install 64-bit patch for KB2670838 (graphics and imaging issues fix)

   

LogFile.WriteLine(Now & "  -  Installing update KB2670838-x64 ...")     

 

 

                If objFSO.FolderExists("C:\Windows\SysNative") Then

                                Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2670838-x64.cab /quiet /norestart",0,True)

                Else

                                Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2670838-x64.cab /quiet /norestart",0,True)

                End If

                               

Results("KB2670838-x64")       

 

 

'install 64-bit patch for KB2639308

 

LogFile.WriteLine(Now & "  -  Installing update KB2639308-x64 ...") 

 

 

                If objFSO.FolderExists("C:\Windows\SysNative") Then

                                Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2639308-x64.cab /quiet /norestart",0,True)

                Else

                                Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2639308-x64.cab /quiet /norestart",0,True)

                End If

                               

 

Results("KB2639308-x64")

 

 

'install 64-bit patch for KB2533623 (Insecure library fix)

   

LogFile.WriteLine(Now & "  -  Installing update KB2533623-x64 ...")   

Return = objShell.Run("wusa.exe " & strScriptPath & "\Windows6.1-KB2533623-x64.msu /quiet /norestart /log",0,True)   

Results("KB2533623-x64")

 

 

'install 64-bit patch for KB2731771 (local/UTC time conversion)

   

LogFile.WriteLine(Now & "  -  Installing update KB2731771-x64 ...")

 

                If objFSO.FolderExists("C:\Windows\SysNative") Then

                                Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2731771-x64.cab /quiet /norestart",0,True)   

                Else

  

                                Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2731771-x64.cab /quiet /norestart",0,True)   

                End If

Results("KB2731771-x64")

       

                               

'install 64-bit patch for KB2729094 (Segoe font fix)

   

LogFile.WriteLine(Now & "  -  Installing update KB2729094-x64 ...")   

Return = objShell.Run("wusa.exe " & strScriptPath & "\Windows6.1-KB2729094-v2-x64.msu /quiet /norestart /log",0,True)   

Results("KB2729094-x64")

       

                               

'install 64-bit patch for KB2786081 (IE credentials retention fix)   

LogFile.WriteLine(Now & "  -  Installing update KB2786081-x64 ...")

 

                If objFSO.FolderExists("C:\Windows\SysNative") Then   

                Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2786081-x64.cab /quiet /norestart /log",0,True)   

                Else

                Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2786081-x64.cab /quiet /norestart /log",0,True)  

                End If

 

Results("KB2786081-x64")

 

'install IE Support for AMD 64)  

LogFile.WriteLine(Now & "  -  Installing update IE_SUPPORT_amd64_en-US ...")

 

                If objFSO.FolderExists("C:\Windows\SysNative") Then   

                Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\IE_SUPPORT_amd64_en-US.cab /quiet /norestart /log",0,True)   

                Else

                Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\IE_SUPPORT_amd64_en-US.cab /quiet /norestart /log",0,True)  

                End If

 

Results("IE_SUPPORT_amd64_en-US")

                               

                               

'install 64-bit patch for KB2888049 (Improve network performance for IE11)   

LogFile.WriteLine(Now & "  -  Installing update KB2888049-x64 ...")   

Return = objShell.Run("wusa.exe " & strScriptPath & "\Windows6.1-KB2888049-x64.msu /quiet /norestart /log",0,True)   

Results("KB2888049-x64")

 

 

'install 64-bit patch for KB2882822

LogFile.WriteLine(Now & "  -  Installing update KB2882822-x64 ...")   

Return = objShell.Run("wusa.exe " & strScriptPath & "\Windows6.1-KB2882822-x64.msu /quiet /norestart /log",0,True)   

Results("KB2882822-x64")

 

'install IE Spelling

LogFile.WriteLine(Now & "  -  Installing update IE Spelling ...")   

Return = objShell.Run("wusa.exe " & strScriptPath & "\IE-Spelling-en.msu /quiet /norestart /log",0,True)   

Results("IE-Spelling-en")

 

'install IE Hyphenation

LogFile.WriteLine(Now & "  -  Installing update IE Hyphenation ...")   

Return = objShell.Run("wusa.exe " & strScriptPath & "\IE-Hyphenation-en.msu /quiet /norestart /log",0,True)   

Results("IE-Hyphenation-en")

 

 

'install Internet Explorer 11 for 64-bit

   

LogFile.WriteLine(Now & "  -  Installing Internet Explorer 11 for 64-bit...")   

LogFile.WriteLine(Now & "  -  The IE 11 Install log is located at :  C:\Logs\Microsoft_Internet_Explorer_11_x64_Install.log")

 

                If objFSO.FolderExists("C:\Windows\SysNative") Then

       

                                Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2841134-x64.CAB /quiet /norestart /logpath:C:\Logs\Microsoft_Internet_Explorer_11_x64_Install.log",0,True)   

               

                Else       

               

                                Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2841134-x64.CAB /quiet /norestart /logpath:C:\Logs\Microsoft_Internet_Explorer_11_x64_Install.log",0,True)   

               

                End If

                   

                If Return = 3010 Then       

                                LogFile.WriteLine(Now & "  -  WARNING: Installation of Internet Explorer 11 has completed successfully, however, required reboot was suppressed!")       

                                WScript.Quit(0)   

                ElseIf Return <> 0 Then       

                                LogFile.WriteLine(Now & "  -  ERROR: Installation of Internet Explorer 11 has failed with error: " & RETURN)   

                Else       

                                LogFile.WriteLine(Now & "  -  Installation of Internet Explorer 11 has completed successfully.")   

                End If

 

LogFile.Close

 

WScript.Quit(0) 

 

'Functions

'---------------------------------------------------------------------------------------------------------------------

 

Function Results(KBname)   

                Select Case Return       

                                Case 9009           

                                                LogFile.WriteLine(Now & "  -  WARNING: " & KBname & " is already installed; skipping installation.")       

                                Case 2359302           

                                                LogFile.WriteLine(Now & "  -  WARNING: " & KBname & " is already installed; skipping installation.")       

                                Case -2145124329           

                                                LogFile.WriteLine(Now & "  -  WARNING: " & KBname & " is not required for this system; skipping installation.")       

                                Case Else           

                                                LogFile.WriteLine(Now & "  -  Install of " & KBname & " has completed with return code: " & RETURN)   

                End Select

End Function