Windows Programming

[펌] Visual Studio 2005 서비스팩1 통합 하기

오즈마스터 2008. 1. 31. 13:24

Visual Studio 2005 서비스팩1 통합 하기.
  | ETC
2008-01-30 오전 11:23:27
김효종 (introc)  김효종님께 메시지 보내기김효종님을 내 주소록에 추가합니다.김효종님의 개인게시판 가기 번호: 8005   / 평점:  (-)  / 읽음:107

흠...

Visual Studio 2005 설치에도 많은 시간이 걸리는데, 거기다가 서비스팩 1을 적용하려면 정말 인내의 시간을 가져야 하더군요.

해서 XP나 다른 제품처럼 서비스팩을 원본에 통합하는 방법이 없을까 찾아보다가 아래 내용을 찾게 되었습니다. 이용하실 때 도움이 되셨으면 좋겠습니다.


원문 : http://blogs.msdn.com/heaths/archive/2006/12/16/slipstreaming-visual-studio-2005-service-pack-1.aspx


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.

Published Saturday, December 16, 2006 7:45 AM by Heath Stewart




한글로 요약하면...


출처 : http://scarletblue.net/34


1. 본체 압축 풀기

명령 프롬프트를 실행하여 다음과 같이 입력합니다.
Visual Studio 2005 CD/DVD가 E 드라이브에 있다고 가정합니다.
D:\VS2005에 압축을 푼다고 가정합니다.

msiexec.exe /a E:\vs_setup.msi TARGETDIR=D:\VS2005 /L*vx install.log

2. 서비스 팩 압축 풀기

1번 과정이 끝나면 서비스 팩을 다운로드 받은 후에 다음과 같이 입력합니다.
D:\VS2005_TEMP에 압축을 푼다고 가정합니다.

VS80sp1-KB926601-X86-ENU.exe /extract D:\VS2005_TEMP


3. 서비스 팩 통합하기

이제 본체에 서비스 팩을 통합합니다.

msiexec.exe /a D:\VS2005\vs_setup.msi /p D:\VS2005_TEMP\VS80sp1-KB926601-X86-ENU.msp /L*vx patch.log


4. 설치하기

CD/DVD 루트 디렉토리에 있는 CAB 파일을 제외한 나머지 파일을 통합이 끝난 디렉토리에 그대로 복사합니다. 단, 같은 파일이 있다면 덮어쓰지 않도록 합니다.

출처: 데브피아 VC++ 포럼마을 김효종님.
펌하면서 소감: 오오~ 좋은 팁입니다.