如果您安装过 VS 2005 SP1的话,一定会感觉非常郁闷,因为 VS 2005 SP1比 VS 2005 的安装要慢的多,只是一个补丁而已,这么慢,一般人都受不了。
Slipstreaming Visual Studio 2005 Service Pack 1
Now that Visual Studio 2005 Service Pack 1 is released, some are wondering how to slipstream the patch so they can install Visual Studio 2005 with SP1 already applied. Much of this process is standard practice for Windows Installer packages.
Please note this will require a lot of disk space, as you’re unpacking around 3 GB – and more, if you add the MSDN installation, though that is not patched in this service pack – just for the product installation.
1. Install the Product
You must create an administrative image of Visual Studio 2005 in order to slipstream the service pack in that way. Installing the patch while installing the product – though a supported scenario with Windows Installer – is not supported in our patches currently because of how actions are conditioned, a more general problem I’ll discuss in a future post.
Assume D: is your CD or DVD drive letter, and \\server\share is a path with space available all licensed users can access.
msiexec.exe /a D:\vs_setup.msi TARGETDIR=\\server\share /L*vx install.log
2. Unpack the Patch
The patch you download for service pack 1 is a wrapper around the .msp file, so you must unpack the .msp file using the patch-standard /extract switch. Assuming you made an administrative installation of Team Suite, the main Visual Studio 2005 SP1 is used below:
VS80sp1-KB926601-X86-ENU.exe /extract “%TMP%”
3. Apply the Patch
Now that you have the .msp file extracted, you must apply it to the administrative installation from step 1.
msiexec.exe /a \\server\share\vs_setup.msi /p “%TMP%\VS80sp1-KB926601-X86-ENU.msp” /L*vx patch.log
4. Installing the Patched Product
The official deployment strategy for Visual Studio 2005 network installations can be found in KB907759. Copy the contents of the CD or DVD to the same directory – like \\server\share in the example above – but do not replace any files. You really don’t need to copy the CAB files in the root directory, either. All those files have been expanded into source directories. This step is to copy the bootstrap files and other required components to the installation directory. After copying is complete, run setup.exe as normal.
Notes
Because when Windows Installer installs a patch to an administrative image, the identity of the patch is essentially lost (the #transform is not persisted, which contains information about how to apply the patch) the service pack is not uninstallable when you install the slipstreamed installation you just created. The entry in Add/Remove Programs (ARP) was written in lieu of having ARP discover the patch, but without an UninstallString registry value for the patch because the patch doesn’t actually exist and can’t be uninstalled.
This is also an expanded form of the installation, with all files loose in their source directory structure. If someone were to write a tool to repackage this, such a tool would have to – based on the Media table, attributes in the File table, and Word Count summary property as described in File Sequencing and How Files are Located – re-CAB some files and embed some of those CAB files back into the .msi file, then reset the administrative image bit (bit 2) in the Word Count summary property.
首先,需要大于3G的硬盘空间(解压VS2005用,实际感觉大概需要4~5G,因为后面应用补丁的时候还会占用空间),这个补丁只会应用到VS2005上,和我们的MSND是没有什么关系的。
打完补丁以后,把你VS安装目录(安装目录是指光盘的安装文件的目录,比如我的是G:\VS\)里的其他文件拷到D:\VSSSETUP里来了,但是,不要覆盖任何文件,还有。cab的压缩包也不用再拷了,刚才其实已经把cab里的东西在第一步的时候解压出来并应用补丁了。
I agree with Bit - more detailed info on step 4 would have helped. I managed to sucessfully slipstream SP1 and install vs 2005 after some trial and error. The first time around I got stuck during Setup when it wanted to install windows installer 3.1 and couldnt find the file. I tried to point it in the right direction and even though the file was in the folder I pointed it to it still said "The path is invalid".
Here is what worked for me: From the original source, select everything except the .cab files and copy that to \\server\share. When asked to replace any files or folders say no. The only 2 folders it wants to replace are "program files" and "wcu". Program files is fine like it is, but you need to go into wcu (on original disk) select everything in there, then go to wcu in \\server\\share, copy it there and say no to any files or folders it wants to replace.
The final size of the install folder (without msdn) was 2.87 GB
After that I installed straight from my hdd and
even though it was a bit of a nervous process just waiting for the setup to ask me for a missing file again it went fine and was nice and quick.