Abstract: With the EOL from pre Internet Explorer 11 browser, there is a high need to roll out IE 11. This howto explain how IE 11 can be added to a Windows 7 SP1 image to simplify the rollout.
Preparation:
– Create “D:\Update_Windows_7_Image”
– Create “D:\Update_Windows_7_Image\Mounted”
– Download the IE 11 offline installer (from here: IE11-Windows6.1-x86-en-us.exe or IE11-Windows6.1-x64-en-us.exe depending on your needs) and store it in D:\Update_Windows_7_Image\IE11_Installer
– Download the IE 11 prerequisites (and also the optional updates) from here and store them in D:\Update_Windows_7_Image\IE11_prerequisite
– Download the latest IE11 cumulative update (at the moment this is MS16-104 / KB 3185319, MS13-090 / KB KB2900986 32/64 bit and KB4014661) and store it in D:\Update_Windows_7_Image\IE11_Updates
– Install the Windows Assessment and Deployment Kit (ADS) for Windows 8.1 update (from here) [Select the components “Deployment Tools” during installation]
– If you wish to include the convenience rollup update (a kind of pre SP2 for Windows 7), Download it (Windows 7 Convenience Rollup KB 3125574) and store it inside D:\Update_Windows_7_Image\Windows7_conveniencerollup. As this required some prerequisite you need to download KB 3020369 and store that in D:\Update_Windows_7_Image\Windows7_convenienceprerequisites. While you do that you also should download KB3138612 (March 2016 WUA), KB2685813, KB 3172605 (download that true the update catalog, not the normal website!) and KB2685811 and store them inside D:\Update_Windows_7_Image\Windows7_conveniencepostupdates
– If you wish to include additional windows updates [called slipstream in former versions] download them and store them inside D:\Update_Windows_7_Image\Windows7_Updates (e.g. KB 2775511 – Enterprise hotfix rollup or the RDP 8.0 Upgrade KB 2592687). Before you do that make sure you also include the updated Servicing Stack (KB3177467) which you should download here D:\Update_Windows_7_Image\Windows7_Updatesprerequisites
Keep noted that some updates require a mount and unmount. If you do not perform that for example with the integration from KB3125574, you will get the Error: 0x800f082f, which would mean an restart is pending. So you need to follow how to closely here!
Implementation steps:
1.) Extract a original Windows 7 SP1 ISO image to D:\Update_Windows_7_Image\Extracted (e.g. via WinRar)
2.) Inside the D:\Update_Windows_7_Image\IE11_Installer folder run the following command to expand the installer package:
IE11-Windows6.1-x86-en-us.exe /x:D:\Update_Windows_7_Image\IE11_CAB
or
IE11-Windows6.1-x64-en-us.exe /x:D:\Update_Windows_7_Image\IE11_CAB
If you leave IE_SUPPORT_amd64_en-US.CAB / IE_SUPPORT_x86_en-US.CAB in the folder above, this will cause an error 0x80070002 during the dism process
3.) Start a new CMD (run as admin) and close all all file explorer (as that sometimes caused access issues with dism during the commit) [more info´s for DISM here]
If that happen you could discard the changes via “dism /unmount-wim /mountdir:D:\Update_Windows_7_Image\Mounted /discard” and start again with step 1
4.) As a install.wim can contain multiple images we need to check at first the possible indexes via:
dism /get-wiminfo /wimfile:”D:\Update_Windows_7_Image\Extracted\sources\install.wim”
In our example here it will output the following:
Index : 1 Name : Windows 7 STARTERN Description : Windows 7 STARTERN Size : 7.523.043.825 bytes Index : 2 Name : Windows 7 HOMEBASICN Description : Windows 7 HOMEBASICN Size : 7.575.961.927 bytes Index : 3 Name : Windows 7 HOMEPREMIUMN Description : Windows 7 HOMEPREMIUMN Size : 7.757.017.242 bytes Index : 4 Name : Windows 7 PROFESSIONALN Description : Windows 7 PROFESSIONALN Size : 7.638.057.417 bytes Index : 5 Name : Windows 7 ULTIMATEN Description : Windows 7 ULTIMATEN Size : 7.798.377.753 bytes
5.) Depending on which version we wish to “update” we need to use the correct index. In this example here we will update all versions, so we will use a batch script which runs true all 5 indexes and performs the same step for all of them (this will not result in a very big file).
If your install.wim showed only 4 indexes, then remove the nr 5 from the 3rd line in the script below.
So create a empty CMD named “integrate_ie11_and_updates.cmd” inside D:\Update_Windows_7_Image with the following content:
@echo off CLS cd "C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\amd64\DISM" dism /cleanup-wim for %%a in (1 2 3 4 5) do ( Echo [------------------------ Mount Image --------------------] .\dism.exe /mount-wim /wimfile:D:\Update_Windows_7_Image\extracted\sources\install.wim /index:%%a /mountdir:D:\Update_Windows_7_Image\Mounted Echo [------------------- Add IE11 Prerequisite ---------------] .\dism.exe /image:D:\Update_Windows_7_Image\Mounted /add-package /packagepath:D:\Update_Windows_7_Image\IE11_prerequisite Echo [------------------------ Add IE11 -----------------------] .\dism.exe /image:D:\Update_Windows_7_Image\Mounted /add-package /packagepath:D:\Update_Windows_7_Image\IE11_CAB Echo [-------------------- Add IE11 Updates -------------------] .\dism.exe /image:D:\Update_Windows_7_Image\Mounted /add-package /packagepath:D:\Update_Windows_7_Image\IE11_Updates Echo [------- Add Win7 convenience rollup prerequisites -------] .\dism.exe /image:D:\Update_Windows_7_Image\Mounted /add-package /packagepath:D:\Update_Windows_7_Image\Windows7_convenienceprerequisites Echo [------------- Add Win7 convenience rollup ---------------] .\dism.exe /image:D:\Update_Windows_7_Image\Mounted /add-package /packagepath:D:\Update_Windows_7_Image\Windows7_conveniencerollup Echo [--------- Add Win7 convenience post updates -------------] .\dism.exe /image:D:\Update_Windows_7_Image\Mounted /add-package /packagepath:D:\Update_Windows_7_Image\Windows7_conveniencepostupdates Echo [------------------- Commit changes ----------------------] .\dism.exe /unmount-wim /mountdir:D:\Update_Windows_7_Image\Mounted /commit Echo [------------------------ Mount Image --------------------] .\dism.exe /mount-wim /wimfile:D:\Update_Windows_7_Image\extracted\sources\install.wim /index:%%a /mountdir:D:\Update_Windows_7_Image\Mounted Echo [--------- Add Windows 7 Update prerequisites ------------] .\dism.exe /image:D:\Update_Windows_7_Image\Mounted /add-package /packagepath:D:\Update_Windows_7_Image\Windows7_Updatesprerequisites Echo [------------------- Commit changes ----------------------] .\dism.exe /unmount-wim /mountdir:D:\Update_Windows_7_Image\Mounted /commit Echo [------------------------ Mount Image --------------------] .\dism.exe /mount-wim /wimfile:D:\Update_Windows_7_Image\extracted\sources\install.wim /index:%%a /mountdir:D:\Update_Windows_7_Image\Mounted Echo [---------------- Add Windows 7 Updates ------------------] .\dism.exe /image:D:\Update_Windows_7_Image\Mounted /add-package /packagepath:D:\Update_Windows_7_Image\Windows7_Updates Echo [------------------- Commit changes ----------------------] .\dism.exe /unmount-wim /mountdir:D:\Update_Windows_7_Image\Mounted /commit )
Note: It would be possible to download all *.CAB files from a fresh installed Windows 7 OS from the folder C:\Windows\SoftwareDistribution\Download\ and put them into D:\Update_Windows_7_Image\Windows_7_Updates. But as Microsoft sometimes re-release hotfixes and the fact that the cleanup agent might delete these files, it should be a fresh installed Windows OS where you fetch the files from.
To speed up the update process you might extract the *.cab files from the *.msu files as explained here.
6.) Inside our still open CMD we will run the script now via:
D:\Update_Windows_7_Image\integrate_ie11_and_updates.cmd
Depending on your PC this might take a while. Keep noted that you should not open the explorer and browse the folders for that project here as that might cause issues in the DISM process!
7.) After that we will create our new ISO. So switch to the OSCDimg folder (C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\x86\Oscdimg). Inside that folder run the following command:
oscdimg /b”D:\Update_Windows_7_Image\extracted\boot\etfsboot.com” /h /lGSP1RMCULXFREO_DE_DVD /u2 /o D:\Update_Windows_7_Image\extracted D:\Update_Windows_7_Image\ISO\Windows7Updated.iso
This will create our new ISO, which we can use in VMWare to test it or directly burn to a DVD.
Note: Some updates like the 4.7 .net Framework couldn´t be installed via that way. You can use the approach explained here.