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
Setup-IE11-x64.vbs
Then you can run it with "cscript.exe Setup-IE11-x64.vbs" from an elevated command prompt. Make sure you are in the same directory as your saved script before running the command.
Best of luck! - LastH0peLost 10 years ago
http://www.microsoft.com/en-us/download/details.aspx?id=40903 - ledjam38 10 years ago
You can build off of this info using the language pack updates for IE 11 and query WMI for Windows Language packs installed. Wrap it all in an script or MSI (if you have the right tools available), and you have 1 maybe 2 SCCM applications.
Again. Thank you sir! Greatly appreciate it. - JHEID 9 years ago
' Setup-IE11-x86.vbs
' VB script to install IE 11 32 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_x86_Prerequisites.log", 8, True)
Dim Return, KBname
LogFile.WriteLine(vbCrLf & "---------------------------------------------------------------------------------------------------------------------" & vbCrLf)
' installs prerequisites
LogFile.WriteLine(Now & " - Starts to install prerequisites for Internet Explorer 11 x86 for Windows 7 ...")
'install 32-bit patch for KB2834140-v2-x86
LogFile.WriteLine(Now & " - Installing update KB2834140-v2-x86 ...")
Return = objShell.Run("wusa.exe " & strScriptPath & "\Windows6.1-KB2834140-v2-x86.msu /quiet /norestart",0,True)
Results("KB2834140-v2-x86")
'install 32-bit patch for KB2670838 (graphics and imaging issues fix)
LogFile.WriteLine(Now & " - Installing update KB2670838-x86 ...")
If objFSO.FolderExists("C:\Windows\SysNative") Then
Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2670838-x86.cab /quiet /norestart",0,True)
Else
Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2670838-x86.cab /quiet /norestart",0,True)
End If
Results("KB2670838-x86")
'install 32-bit patch for KB2639308
LogFile.WriteLine(Now & " - Installing update KB2639308-x86 ...")
If objFSO.FolderExists("C:\Windows\SysNative") Then
Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2639308-x86.cab /quiet /norestart",0,True)
Else
Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2639308-x86.cab /quiet /norestart",0,True)
End If
Results("KB2639308-x86")
'install 32-bit patch for KB2533623 (Insecure library fix)
LogFile.WriteLine(Now & " - Installing update KB2533623-x86 ...")
Return = objShell.Run("wusa.exe " & strScriptPath & "\Windows6.1-KB2533623-x86.msu /quiet /norestart /log",0,True)
Results("KB2533623-x86")
'install 32-bit patch for KB2731771 (local/UTC time conversion)
LogFile.WriteLine(Now & " - Installing update KB2731771-x86 ...")
If objFSO.FolderExists("C:\Windows\SysNative") Then
Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2731771-x86.cab /quiet /norestart",0,True)
Else
Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2731771-x86.cab /quiet /norestart",0,True)
End If
Results("KB2731771-x86")
'install 32-bit patch for KB2729094 (Segoe font fix)
LogFile.WriteLine(Now & " - Installing update KB2729094-x86 ...")
Return = objShell.Run("wusa.exe " & strScriptPath & "\Windows6.1-KB2729094-v2-x86.msu /quiet /norestart /log",0,True)
Results("KB2729094-x86")
'install 32-bit patch for KB2786081 (IE credentials retention fix)
LogFile.WriteLine(Now & " - Installing update KB2786081-x86 ...")
If objFSO.FolderExists("C:\Windows\SysNative") Then
Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2786081-x86.cab /quiet /norestart /log",0,True)
Else
Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\Windows6.1-KB2786081-x86.cab /quiet /norestart /log",0,True)
End If
Results("KB2786081-x86")
'install IE_SUPPORT_x86_en-US)
LogFile.WriteLine(Now & " - Installing update IE_SUPPORT_x86_en-US ...")
If objFSO.FolderExists("C:\Windows\SysNative") Then
Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\IE_SUPPORT_x86_en-US.cab /quiet /norestart /log",0,True)
Else
Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\IE_SUPPORT_x86_en-US.cab /quiet /norestart /log",0,True)
End If
Results("IE_SUPPORT_x86_en-US")
'install 32-bit patch for KB2888049 (Improve network performance for IE11)
LogFile.WriteLine(Now & " - Installing update KB2888049-x86 ...")
Return = objShell.Run("wusa.exe " & strScriptPath & "\Windows6.1-KB2888049-x86.msu /quiet /norestart /log",0,True)
Results("KB2888049-x86")
'install 32-bit patch for KB2882822
LogFile.WriteLine(Now & " - Installing update KB2882822-x86 ...")
Return = objShell.Run("wusa.exe " & strScriptPath & "\Windows6.1-KB2882822-x86.msu /quiet /norestart /log",0,True)
Results("KB2882822-x86")
'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 32-bit
LogFile.WriteLine(Now & " - Installing Internet Explorer 11 for 32-bit...")
LogFile.WriteLine(Now & " - The IE 11 Install log is located at : C:\Logs\Microsoft_Internet_Explorer_11_x86_Install.log")
If objFSO.FolderExists("C:\Windows\SysNative") Then
Return = objShell.Run("C:\Windows\SysNative\dism.exe /online /add-package /packagepath:" & strScriptPath & "\IE-Win7.CAB /quiet /norestart /logpath:C:\Logs\Microsoft_Internet_Explorer_11_x86_Install.log",0,True)
Else
Return = objShell.Run("dism.exe /online /add-package /packagepath:" & strScriptPath & "\IE-Win7.CAB /quiet /norestart /logpath:C:\Logs\Microsoft_Internet_Explorer_11_x86_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 - ITNinjaReader 8 years ago