Visual Studio 2008에 Service Pack 1 통합하기

2009. 9. 5. 22:29 IT 및 개발/VSTS & TFS
VS2008을 설치해보신 분들은 모두 아실거라 생각합니다..
원본을 설치하는 시간도 오래 걸리는데 서비스팩 설치하는 시간도 원본 설치 시간과
비슷하거나 오히려 더 오래 걸리는 사태가 발생을 합니다.
너무 오래 걸려서 지겹죠!!~~ 그래서 원본 DVD에 서비스팩1을 통합해서 사용할려고 합니다.

* 내용추가 (09/30) : 서팩1 ISO 파일 수정하기


아래 내용은 하단에 있는 참고사이트를 보고 재작성한 내용임을 먼저 밝힙니다..^^
통합 작업은 VS2008 한글판과 가상드라이브(V:\), 작업드라이브(D:\)를 기준으로 설명을 하도록 하겠습니다.


1. VS2008과 서비스팩1을 준비합니다.
    → Visual Studio 2008 (평가판)
    → Visual Studio 2008 서비스 팩 1(iso)

2. D:\VS2008SP1 이라는 폴더를 생성합니다. 이 폴더에는 원본 DVD ISO의 내용을 추출하고 서팩1을 통합할 위치입니다.

3. 원본 DVD ISO를 가상드라이브에 마운트를 하고 [실행] 창에 아래 명령어를 통하여 설치 파일을 추출합니다.
msiexec /a V:\vs_setup.msi TARGETDIR=D:\VS2008SP1



위와 같은 창이 뜨며 작업이 시작되고 설치 파일을 추출하는데는 5~10정도 소요됩니다.

4. 설치 파일 추출이 끝났으면 서팩 DVD ISO를 가상드라이브에 마운트를 합니다.

5. MSP 파일을 통합하기전에 간단한 파일 복사 작업을 해야합니다. 서비스팩1의 MSP 파일은 관리자 설치이미지에서 특정위치에서 특정 파일을 찾는데, 실제 파일이 그 위치에 있지 않습니다. 그래서 그 파일을 찾아서 원하는 위치에 복사해놓아야합니다.
D:\VS2008SP1\Program Files\Microsoft Visual Studio 9.0\Common7\1042 폴더로 이동합니다. 폴더에 있는 WcfSvcHost.chm, WcfTestClient.chm 파일 2개를 D:\VS2008SP1\Program Files\Microsoft Visual Studio 9.0\Common7\IDE 폴더에 복사를 합니다.

6. 통합이 가능한 중요 MSP 파일을 관리자 설치이미지의 vs_setup.msi 파일에 통합시킵니다.
msiexec /a D:\VS2008SP1\vs_setup.msi /p V:\vs90sp1\vs90sp1-kb945140-x86-kor.msp /L*vx D:\VS2008SP1\vs90sp1-kb945140-x86-kor.log

msiexec /a D:\VS2008SP1\vs_setup.msi /p V:\vs90sp1\vc90sp1-kb947888-x86-kor.msp /L*vx D:\VS2008SP1\vc90sp1-kb947888-x86-kor.log

msiexec /a D:\VS2008SP1\vs_Setup.msi /p V:\vs90sp1\vc90sp1-kb948484-x86_x64-kor.msp /L*vx D:\VS2008SP1\vc90sp1-948484-x86_x64-kor.log

msiexec /a D:\VS2008SP1\vs_setup.msi /p V:\vs90sp1\vc90sp1-kb948560-x86_IA64-kor.msp /L*vx D:\VS2008SP1\vc90sp1-kb948560-x86_IA64-kor.log

7. 설치 데이터베이스 파일을 SP1 이 적용된 설치데이터베이스 파일로 교체해야합니다.
D:\VS2008SP1\setup\setup.sdb 파일을 열면 중간쯤에 [Product Key] 라는 부분이 있고 이곳에 시디키가 기록되어있습니다. 이 시디키를 다른곳에 적어둡니다.

D:\VS2008SP1\Program Files\Microsoft Visual Studio 9.0\CSetupMM 폴더에 있는 모든 파일을 D:\VS2008SP1\setup 폴더에 복사를 합니다.

다시 D:\VS2008SP1\setup\setup.sdb 파일을 열어 [Product Key] 라는 부분을 찾아 적어논 시디키를 기록하고 저장합니다.

8. 닷넷 프레임워크 3.5 서비스팩 1 이 설치될 수 있도록 파일을 교체합니다.
서비스팩1에 동본된 dotnetfx35.exe 파일을  /extract 옵션을 사용하여 파일을 추출한 후 D:\VS2008SP1\WCU\dotNetFramework 폴더에 복사를 합니다.

그리고 dotnetfx35langpack_x86ko.exe 파일은 D:\VS2008SP1\WCU\dotNetFramework\dotNetFX35\x86 폴더에 복사를 하고 dotnetfx35langpack_x64ko.exe 파일은 D:\VS2008SP1\WCU\dotNetFramework\dotNetFX35\x64 폴더에 복사를 합니다.

9. Visual C++ 2008 SP1 Runtimes 가 설치될 수 있도록 구성합니다.
D:\VS2008SP1\WCU 위치에 VCRuntimes 라는 폴더를 생성합니다.

V:\vs90sp1 위치에 있는 VC_IA64Runtime.exe, VC_x64Runtime.exe, VC_x86Runtime.exe 파일 3개를 위에서 생성한 VCRuntimes 폴더에 복사를 합니다.

10. Microsoft SQL Server Database Publishing Wizard 1.3 를 구성합니다.
V:\vs90sp1 위치에 있는 SqlPubWizInstaller.exe 파일을 D:\VS2008SP1\WCU\SQLPub 폴더에 복사를 합니다.

11. Microsoft SQL Server 2008 Management Objects 와 SQL Server System CLR Types 를 구성합니다.
D:\VS2008SP1\WCU 위치에 SMO 라는 폴더를 생성합니다.

V:\vs90sp1 위치에 있는 SharedManagementObjects.msi, SQLSysClrTypes.msi 파일 2개를 위에서 생성한 SMO 폴더에 복사를 합니다.

12. Microsoft SQL Server Compact 3.5 SP1 와 Microsoft SQL Server Compact 3.5 SP1 Design Tools를 구성합니다.
V:\vs90sp1 위치에 있는 SSCERuntime-kor.msi, SSCEVSTools-kor.msi 파일 2개를 D:\VS2008SP1\WCU\SSCE 폴더에 복사를 합니다.

13. 마지막으로 자동 실행 파일을 복사합니다.
V:\ 에서 cab 파일을 제외한 파일을 D:\VS2008SP1 폴더에 복사를 합니다. 중복 파일은 덮어 씌우지 말고 건너띄기를 하세요.
제가 통합할때는 autorun.exe, autorun.inf, htmllite.dll, locdata.ini, setup.exe, setup.ini 이런 파일을 복사했습니다.

이젠 모든 통합과정이 끝났습니다. 통합된 폴더를 가지고 다니셔도 되고 저처럼 ISO 파일로 만들어서 사용하셔도 됩니다^^


서비스팩1 ISO 새로 만들기 (09/30 추가)
위 처럼 서팩1을 통합해도 서팩1 ISO에 통합이 안된 파일들이 존재를 합니다. 그래서 나머지 파일들을 업데이트 하는 나머지 서팩1 ISO를 만들도록 하겠습니다.

지금까지 통합에 사용한 파일들(msp, msi, exe)을 삭제하고, 파일중에 ParameterInfo.xml라는 파일이 있습니다. 이 파일을 수정하도록 하겠습니다.

에디터로 ParameterInfo.xml 파일을 열고 지금까지 통합에 사용한 파일명으로 하나 하나 검색을 합니다. 그러면 해당하는 노드의 항목을 전부 삭제를 합니다. 이 부분을 삭제를 안하면 SP1 나머지 파일 설치시 인스톨러에서 없는 파일을 웹에서 다운로드를 진행합니다.

이젠 나머지 SP1 파일도 정리를 완료했습니다. 50메가 정도되는 용량으로 폴더로 가지고 다니셔도 되고 ISO 만들어서 가지고 다니셔도 됩니다. 아니면 폴더를 VS2008 통합한 곳에 추가를 해서 넣고 다녀도 되고요!!
원하시는 대로 하면 될거 같습니다. 이렇게 하면 설치 시간이 엄청 줄어들게 되네요^^

* 위 통합본만 설치하지 말고 나머지 SP1 파일들도 설치를 해주셔야 합니다.


추가사항
MSDN 라이브러리와 팀탐색기 설치 파일을 추가하시고 싶은 분은 원본 DVD ISO를 가상드라이브에 마운트하고 루트에 있는 msdn 폴더와 TFC 폴더를 복사하여 넣어주면 됩니다.

그리고 MSDN 라이브러리를 서비스팩1 용 라이브러리로 바꾸고 싶은 분은 MSDN Library for Visual Studio 2008 SP1 (2008년 12월 버전)을 다운로드 받아 msdn 폴더에 복사를 하시면 됩니다.


참고사항
원본 DVD에 들어있는 설치 파일은 압축되어 있는 파일입니다. 그래서 원본 DVD ISO 파일의 용량은 4.3GB 정도 됩니다. 그러나 통합된 ISO 파일은 4.6GB 정도 됩니다. 물론 MSDN 라이브러리나 팀탐색기를 제외하고도 말이죠. 설치 파일을 추출(압축 해제)해서 작업을 하다보니 용량이 엄청 늘어난거 같습니다. 그리고 MSDN 라이브러리나 팀탐색기를 포함하면 7.3GB 정도로 커집니다. 뭐!!~~ 요즘에는 하드 용량이 원악에 크니깐 별 문제가 없을 것으로 판단은 됩니다. 그래도 한번에 설치를 한다는것에 전 만족을 하고 있답니다^^


참고사이트
 → [초짜 플머 헬마] Visual Studio 2008 과 Service Pack 1 을 통합해보기!
 → [LinSoo의 4차원 세상이야기] Visual Studio 2008 Sp1 통합본 만들기...
이 댓글을 비밀 댓글로
    • 정재우
    • 2009.09.29 01:51
    이렇게 통합하면 sql publish wizard 1.3 이 설치에 실패합니다. 혹시 원인을 알수 있을까요..

    그리고 서비스팩1을 추가로 설치하는데 xml파일을 추가로 고치지 않으면 이미 설치한것도 다시 설치할려는 시도를 합니다.

    그리고 설치한것들은 서비스팩에서 지웠을경우 다시 다운 받습니다.
    • sql publish wizard 1.3은 실패했다는 메세지가 나오는데 프로그램 추가/삭제에 보면 제대로 설치가 되어 있는걸 확인 하실 수 있을겁니다. 인스톨러에서 제대로 인식을 못해서 발생하는 문제인거 같습니다.
      그리고 xml파일을 추가로 고쳐야 한다고 하셨는데 어느 부분을 어떻게 고쳐야 하는지 알려주시면 위의 내용에 반영을 하도록 하겠습니다..^^
    • 서팩1 통합 후 나머지 파일을 설치할때 다운로드 안되게 xml 수정하는 내용을 추가했습니다.
    • 2010.10.01 01:41
    해외에도 비슷한 글이 있더군요.
    http://stackoverflow.com/questions/12406/is-it-possible-to-slipstream-the-visu..

    http://www.woodwardweb.com/vsts/creating_a_tfs.html
    상현님의 포스트보다는 조금 부족한 것 같습니다.