Updated: March 22, 2014
Hey, Dedoimedo, you missed the boat, some of you may say when reading the title of this article. The Internet was awash with these kind of articles years and years back. Why have you suddenly decided to write this one? Well, my PE Builder article for Windows XP came out quite a few years after the said operating system was launched, and it was still immensely useful for many people half a decade later. Likewise, this one ought to do it.
The thing is, if you do not plan on using Windows 8 and family, then you have till faraway 2020 to cram fresh new updates onto your hard disk. There's a good chance you might buy new hardware till then, and reinstall your Windows 7 copy, and that means lots of updates. So why not facilitate the process? Today, you will learn how to slipstream the Windows 7 Service Pack 1 onto the base image so that you save yourselves a lot of time during future upgrades and such. Follow me.
Preparations
Some things you will need to consider before venturing forward: 1) You need an original disc or an ISO image 2) You will need to download a bunch of software, including the said Windows 7 Service Pack that matches your architecture 3) You will need a working copy of some Windows installed to run the actual slipstreaming process.
There are many other restrictions and a sort of disclaimer. For example, you cannot use the installed version of Windows to do the process, because you can't use the system files for slipstreaming. If you have a system with an OEM version and no disc, tough luck. Naturally, you will also have to be logged in as administrator.
Tools of the trade
Let's grab the needed files for the slipstreaming process:
Download the Windows Automated Installation Kit (WAIK). This thing is all you need to do the job really. Command line, and a lot of little flags and options. Enterprise customers often use the kit to streamline and customize their own installations and such.
Download RT7Lite, a frontend for WAIK. If you go to the official page, you will find the relevant links return 404 errors, so it may feel as if the software was discontinued, and it probably was. But the latest available version, 2.6.0 Beta, still survives on the Web, and one of the download spots is Softpedia.
Download the Windows 7 Service Pack, most likely the x86 or x86-64 version.
Get your Windows 7 DVD from its dusty shelf. Or buy a new copy.
Installation
WAIK comes as an ISO file. Extract it or burn to DVD, and then run the StartCD.exe file from within the archive. In the main menu, on the right, you will find an option to setup a whole bunch of things. What you want is the second link. Click on it and run the installer.
Next, install RT7Lite.
Early steps & extract operating system files
RT7Lite might appear a little confusing, but it's very easy to use. First, on the far right, you have the tool settings and configurations, including language, priority and temporary work directory, which ought to be large, as you will be opening and extracting big archives of data.
The center section will show you a log of your work. More importantly, the Browse button lets you search for the system path, usually a DVD, or an ISO file. If no system path has been defined, it will offer you to extract the contents of the installer disc to your hard disk.
The vertical tabbed bar on the left will only become active after you successfully load the image. You will then be able to perform a lot of extra customization, in addition to the actual service pack slipstreaming.
Save operating system image to disk
The following sequence of lovely screenshots happens:
Choose version & slipstream
Once this step is complete, you will be asked to select your version. Most importantly, notice the Slipstream Service Pack checkbox. This is what you want. Tick it and click OK to proceed.
The SP Integrator will launch next. Browse to the location of the service pack and then click Start. The process of slipstreaming will begin, and it can take a very long time, as much as one hour or more, depending on your processor and disk speed.
Failure & second attempt
The integration may fail without any useful information to let you know what went wrong. For example, I was unable to slipstream using Windows 8, which is why the rest of this tutorial will continue on top of Windows 7. This may save some of you time and error.
Create new ISO
Wait for the image to load.
Next, click on the Tasks tab on the left side. You will now have the option to choose what you want to do. At this point, you only want to create an ISO bootable image, so tick the last checkbox. This will enable the ISO Bootable tab on the left side.
There are multiple options available. You can burn the created image directly to DVD, create a bootable USB flash drive, or just create an ISO file. The last is quite handy if you wish to test your configuration in a virtual machine before booting for real. Anyhow, once you're ready, hit Make ISO and wait.
Wait for the ISO to be created, and Bob's your nephew.
Optional: Customize system
Now, this is something I would not recommend. The same thing was true for nLite and vLite and all other programs offering rigorous tweaking and customization for Windows. You can never really know what you're going to break far down the road just because you disable this or that option. All right, if you insist.
RT7Lite allows you to add updates to the system, in addition to the service pack. The idea is the same. You select downloaded Microsoft updates and add them to the image. Then, you can uninstall Windows 7 features, change pretty much everything, and even make your image install in a fully unattended manner by providing the serial key and user configuration beforehand. Not recommended for multi-boot setups.
Manual Windows 7 Service Pack slipstreaming - cmd
So far, we've discussed the GUI options only. But you may also be interested in doing the process entirely from the command line. This takes more expertise, and usually goes beyond the simple process of just slipstreaming the service pack, which is our mission.
Nevertheless, for those a little curious, here's a handful of commands and screenshots highlighting the Linux like mode of work in Windows. Anyhow, the first thing you want to do is copy the Windows 7 disc to a directory on your hard disk. Then, extract the service pack file to another folder. Like we did with PE Builder and such.
E:\Downloads\W7SP1.exe /x:e:\sp1
The actual name of the downloaded service pack will differ from my generic example. Please see the earlier RT7Lite section for links and specific details. Anyhow, inside the extracted folder, you will find several more archives that need to be extracted. You can use archiving tools to do that, and if you wonder which one, then you may want to consult my recommended software list for that. The following files need to be extracted, into the same directory like your service pack.
- windows6.1-KB976932-<arch>.cab - Either x86, x64, or IA64 (~500-900MB).
- After extracting the above, extract NestedMPPContent.
- All language files called KB976933-LangsCab 0-6.
Colorful screenshots for your pleasure:
While extracting, you may be asked to overwrite some files, please do:
DISM tool
Once you're done with the extracting, it is time to start using DISM - Deployment Image Servicing and Management Tool. Essentially, it's a tool that lets you mount image files to a loopback device, essentially, similar to what we did in the KVM clone article. It is included in the WAIK installation.
Navigate to the default installation folder, and run it with the /? flag. You will get a long list of available options. Luckily for you, I will help you shortcut the learning curve a little by providing the necessary commands for mounting and unmounting and such. We will simply mount the installation image, called install.wim, slipstream files into it, and then unmount it.
The first thing we will do is mount the image. You will need a path to your extracted Windows 7 DVD disc, and the install.wim file. For example, it can be something like: E:\Roger\GRMCULXFRER_EN_DVD\sources\install.wim.
You will also need a path to a temporary work directory, similar to what RT7Lite needed, let's say E:\temp. And of course, you do have the extracted SP1 contents, which points, in my example to E:\SP1. Now mount the image:
dism /mount-wim /wimfile:E:\<path to install.wim>
/index:4 /mountdir:E:\temp
The one part that might seem confusing is the use of the /index:4 switch. It refers to the version of your Windows, including Basic, Premium, Professional, and Ultimate. If you're not certain what kind of Windows comes on the disc, you can query the install.wim file before mounting. Example below:
dism /get-wiminfo /wimfile:<path to install.wim>
Deployment Image Servicing and Management tool
Version: 6.1.7600.16385
Details for image : E:\Roger\GRMCULXFRER_EN_DVD\sources\install.wim
Index : 1
Name : Windows 7 HOMEBASIC
Description : Windows 7 HOMEBASIC
Size : 11,500,789,302 bytes
Index : 2
Name : Windows 7 HOMEPREMIUM
Description : Windows 7 HOMEPREMIUM
Size : 12,012,660,212 bytes
Index : 3
Name : Windows 7 PROFESSIONAL
Description : Windows 7 PROFESSIONAL
Size : 11,910,752,928 bytes
Index : 4
Name : Windows 7 ULTIMATE
Description : Windows 7 ULTIMATE
Size : 14,570,925,845 bytes
The operation completed successfully.
Remember this information for the next time you do the setup, so you do not need to run the command again. Now that DISM has mounted the image, add the package - in other words, the contents of the SP1 directory will be added to the temporary directory, which is the one where we have the install.wim file mounted.
dism /image:e:\temp /add-package /packagepath:e:\sp1
And you will get an error:
Deployment Image Servicing and Management tool
Version: 6.1.7600.16385
Error:
Deployment Image Servicing and Management tool
Version: 6.1.7600.16385
Image Version: 6.1.7600.16385
Processing 1 of 1 - Package_for_KB976932: The specified package cannot be added
to an offline image. Add this package to a running operating system using the /Online option. Error:
0x800f082e
Error: 0x800f082e
DISM failed. No operation was performed.
For more information, review the log file.
The DISM log file can be found at C:\Windows\Logs\DISM\dism.log
The reason for the failure is because the service pack is not designed to be added to an offline image. You will need to hack three files in the extracted Windows folder to allow the slipstreaming.
Edit files for offline use
The following files need to be edited (in a text editor):
- Windows7SP1-KB976933~31bf3856ad364e35~amd64~~6.1.1.17514.mum
- update.mum
- updates.ses
Specifically, the following directives inside these files:
In the first, long-name .mum file, change: allowedOffline="false" to allowedOffline="true" toward the end of the file. Here's the section of the code containing that directive:
<mum:packageExtended xmlns:mum="urn:schemas-microsoft-com:asm.v3" allowedOffline="false"
projectionPeakDisk="359" langProjectionPeakDisk="512" sqmBuildNumber="7601" sqmAttemptAppid="101457923"
sqmResultAppid="101457924" sqmPoqexecAppid="101457925"/></package>
</assembly>
Likewise, do the same change in update.mum. For the third file, you will need a slightly different hack. Namely, in the section defining tasks for installation and installation, you will need to change the targetState="Absent" to targetState="Installed" for the OfflineInstall operation. The uninstall option is not important.
<Tasks operationMode="OfflineInstall">
<Phase>
<package id="Windows7SP1-KB976933~31bf3856ad364e35~amd64~~6.1.1.17514"
targetState="Installed"/>
</Phase>
</Tasks>
<Tasks operationMode="OfflineUninstall">
<Phase>
<package id="Windows7SP1-KB976933~31bf3856ad364e35~amd64~~6.1.1.17514"
targetState="Absent"/>
</Phase>
</Tasks>
Once this is done, rerun the add-package command. Depending on how much different your base image from the service pack is, the slipstreaming process can take a while. If you try to slipstream an already slipstreaming image, it will be very short.
Deployment Image Servicing and Management tool
Version: 6.1.7600.16385
Image Version: 6.1.7600.16385
Processing 1 of 1 - Adding package Package_for_KB976932~31bf3856ad364e35~amd64~~6.1.1.17514
[==========================100.0%==========================]
The operation completed successfully.
Finally, unmount the image and commit the changes:
dism /unmount-wim /mountdir:e:\temp /commit
Deployment Image Servicing and Management tool
Version: 6.1.7600.16385
Image File : E:\Roger\GRMCULXFRER_EN_DVD\sources\install.wim
Image Index : 4
Saving image
[==========================100.0%==========================]
Unmounting image
[==========================100.0%==========================]
The operation completed successfully.
At this point you do not need to anything else. You will notice the install.wim timestamp has changed, and that the file has been updated with the new content. Now, you can pack everything into an ISO file and test, or burn to a DVD.
Burn image
This is a trivial step. But if for some reason, your burned media does not boot, then you might have to turn the bootable flag during the burning process. A range of CD/DVD burning software can do that. ImgBurn is a decent candidate:
More reading
Olden stuff from days past on Windows XP stuff:
BartPE and UBCD4WIN articles on the fun of bootable Windows
Now, some reasons why you should not use Windows 8.X family, at least until they release a normal version for the desktop, with the proper system menu and all that. Rumors, hint hint, and I'm the king, cause I know everything. Indeed.
Windows 8 Customer Preview and RTM reviews
Windows 8.1 Beta hands on
Taming Windows 8 Tiles thingie
Upgrade Windows 8 to Windows 8.1 guide
How to make Windows 7 look like Windows 8 for free
And there's more. I'm not in the mood to link all my stuff. But if you care, you will find your way around, and read all you want to know about recovery, activation, safe mode, and other fancy things. You know how to search.
Conclusion
This is a very long tutorial. But I think you will find it immensely useful. In the long run, it should save you time and space as you integrate packages into your existing disc image. Those future reinstalls ought to be quicker.
We've discussed a lot of stuff, and we saw how to slipstream the service pack both using a WAIK frontend called RT7Lite, as well as manually from the command line using DISM. We also learned a bit about how to edit various configuration files, extraction of archive, additional optional tweaking of the Windows image, and more. Enjoy, fellas.
P.S. If you find this article useful, please support Dedoimedo.
Cheers.