헬마입니다.

저번에 간단한 스샷으로 올렸던 통합과정을 좀 더 정리해서 머릿속으로 정리가 되어 이렇게 글을 남겨봅니다.

본 제작과정은 MSI 라는 윈도 인스톨러의 관리자 설치기능을 이용한 것입니다. 따라서 관리자 설치기능과 MSP 의 MSI에 대한 통합을 지원하지 않는 패치파일등은 통합을 할 수 없습니다.

* 이 통합과정은 Visual C++ 을 사용하시는 분들을 위주로 하여 테스트 되었습니다. *

준비물
먼저 Visual Studio 2008 Team Suite ISO 파일과 Visual Studio 2008 SP1 ISO 파일을 구합니다.

이번에 제작과정에서는 2가지 모두 한글판을 기준으로 작업하겠습니다.

작업드라이브는 대략 10기가 정도의 여유공간을 준비하시는 것이 편하십니다.

작업드라이브는 D 드라이브, 가상 시디롬 드라이브는 E 드라이브로 가정하여 진행하겠습니다. ^^

- 먼저 D 드라이브에 VS2008SP1KOR 이라는 기준폴더를 생성하고 가상 시디롬 드라이브에 VS2008 ISO 파일을 마운트합니다.
- 이제 작업의 동반자가 될 명령행 프롬프트 창을 열어둡니다. 검은 바탕의 이 화면은 참으로 언제나 요긴한 것 같네요.

통합하기

-
먼저, 가상 시디롬 드라이브로 이동하여 아래와 같은 명령을 입력하여 기준폴더에 VS2008 에 대한 관리자 설치 이미지를 생성합니다.
= msiexec /a vs_setup.msi TARGETDIR=D:\VS2008SP1KOR

그러면 위와 같은 화면이 나타나고 한참 후에 기준 폴더에 관리자 설치이미지가 생성됩니다.  ( 대략 5-10분 소요됩니다 )

- 이젠, 원본 ISO 파일은 필요가 없습니다. Service Pack 1 ISO 파일을 마운트합니다.
= 먼저, MSP 파일을 통합하기전에 간단한 파일 복사 작업을 해야합니다. 서비스팩 1 의 MSP 파일은 관리자 설치이미지에서 특정위치에서 특정 파일을 찾는데, 실제 파일이 그 위치에 있지 않습니다. ㅠㅠ 그래서 그 파일을 찾아서 원하는 위치에 복사해놓아야합니다. 
* copy "d:\vs2008sp1kor\program files\microsoft visual studio 9.0\common7\1042\WcfSvcHost.chm" "d:\vs2008sp1kor\program files\microsoft visual studio 9.0\common7\ide"
* copy "d:\vs2008sp1kor\program files\microsoft visual studio 9.0\common7\1042\WcfTestClient.chm" "d:\vs2008sp1kor\program files\microsoft visual studio 9.0\common7\ide"

= 일단, 통합이 가능한 중요 MSP 파일을 관리자 설치이미지의 vs_setup.msi 파일에 통합시킵니다. ( 각 명령마다 제일 처음 스샷과 같은 화면이 뜨며 진행상황을 안내합니다 )
* msiexec /a d:\vs2008sp1kor\vs_setup.msi /p e:\vs90sp1\vs90sp1-kb945140-x86-kor.msp /L*vx d:\Vs2008sp1kor\vs90sp1-kb945140-x86-kor.log
* msiexec /a d:\vs2008sp1kor\vs_setup.msi /p e:\vs90sp1\vc90sp1-kb947888-x86-kor.msp /L*vx d:\vs2008sp1kor\vc90sp1-kb947888-x86-kor.log
* msiexec /a d:\vs2008sp1kor\vs_Setup.msi /p e:\vs90sp1\vc90sp1-kb948484-x86_x64-kor.msp /L*vx d:\vs2008sp1kor\vc90sp1-948484-x86_x64-kor.log
* msiexec /a d:\vs2008sp1kor\vs_setup.msi /p e:\vs90sp1\vc90sp1-kb948560-x86_IA64-kor.msp /L*vx d:\vs2008sp1kor\vc90sp1-kb948560-x86_IA64-kor.log

= 이제 설치 데이터베이스 파일을 SP1 이 적용된 설치데이터베이스 파일로 교체해야합니다. 그런데, 왠일인지 MSP 파일을 통합하면서 MS 가 SP1 이 적용된 설치데이터베이스 파일을 자동으로 생성해 둔것이 있습니다. 따라서, 이 파일들을 이용합니다.
* d:\vs2008sp1kor\setup\setup.sdb 파일을 열면 중간쯤에 productkey 라는 부분이 있고 이곳에 시디키가 기록되어있습니다. 이 시디키를 다른곳에 적어둡니다.
* copy "d:\vs2008sp1kor\program files\microsoft visual studio 9.0\CSetupMM\*.*" "D:\vs2008sp1kor\setup"

= 닷넷 프레임워크 3.5 서비스팩 1 이 설치될 수 있도록 파일을 교체합니다 .
* WinRAR 등을 이용하여 서비스팩 1 에 동봉된 dotnetfx35.exe 의 압축을 해제합니다. ( 또는 /extract 옵션을 이용하여 해제합니다 )
* 압축을 해제한 닷넷 프레임워크 3.5 서비스팩 1의 설치파일을 dotNetFramework 라는 디렉토리 그대로 d:\vs2008sp1kor\wcu\dotNetFramework 에 덮어씌웁니다
* copy e:\vs90sp1\dotnetfx35langpack_x86ko.exe d:\vs2008sp1kor\wcu\dotnetframework\dotnetfx35\x86
* copy e:\vs90sp1\dotnetfx35langpack_x64ko.exe d:\vs2008sp1kor\wcu\dotnetframework\dotnetfx35\x64

= Visual C++ 2008 SP1 Runtimes 가 설치될 수 있도록 구성합니다.
* md d:\vs2008sp1kor\wcu\VCRuntimes
* copy e:\vs90sp1\vc_ia64runtime.exe D:\vs2008sp1kor\wcu\VCRuntimes
* copy e:\vs90sp1\vc_x64runtime.exe d:\vs2008sp1kor\wcu\VCRuntimes
* copy e:\vs90sp1\vc_x86runtime.exe d:\vs2008sp1kor\wcu\VCRuntimes

= Microsoft SQL Server Database Publishing Wizard 1.3 를 구성합니다. 
*  wcu\SQLPub 라는 폴더에 서비스팩 ISO 에서 SqlPubWizInstaller.exe 파일을 복사합니다. 
=  Microsoft SQL Server 2008 Management Objects 와 SQL Server System CLR Types 를 구성합니다.
* wcu\SMO 라는 폴더를 생성 후 서비스팩 ISO 에서 SharedManagementObjects.msi, SQLSysClrTypes.msi 파일을 복사합니다. 
=  Microsoft SQL Server Compact 3.5 SP1 English 와 Microsoft SQL Server Compact 3.5 SP1 Design Tools English 를 구성합니다. 
* wcu\SSCE 라는 폴더에 SSCERuntime-enu.msi, SSCEVSTools-enu.msi 파일을 덮어씌웁니다.

 = 모든 통합과정이 끝났습니다. 이제 서비스팩 ISO 파일에서 지금까지 통합에 사용한 파일들( MSP, MSI, EXE ) 은 삭제하시고 사용하시면 됩니다.

부족한 재주로 설명하여서 많이 부족합니다. 의문나는 점이 있으면 댓글 달아주시면 답변 드리겠습니다. ^^

댓글을 달아 주세요

  1. 섭잉 2009.08.10 21:27 Address Modify/Delete Reply

    안녕하세요. 몇 가지 궁금증이 있어 글 남깁니다.
    우선 좋은 팁 감사합니다.
    통합하지 않은 WinSDK-KB946729.msp나 VS90sp1-KB945140-X64-KOR.msp 등은
    따로 설치해야 하는 거에요? 두번째꺼는 64비트 전용인가;;

    그리고 통합한 것을 다시 압축, msdn sp1도 포함하여 이미지 파일(iso)로 만들어 사용하려는데 이건 어떻게 하는겁니까?

    그럼 좋은 하루되세요. 덕분에 좋은 정보 얻고 갑니다.

    • BlogIcon 헬마 2009.08.11 20:46 신고 Address Modify/Delete

      네 통합하지 않은 것들은 따로 SP1Installer.exe 를 통해 설치합니다. 즉, 설치과정상으로는 여전히 2번의 설치를 해야하지만 설치 시간은 대폭 줄이는 형태입니다.

      ISO 로 제작하는 것은 MS도구인 cdimage 또는 UltraISO 등을 통해서 ISO파일로 제작하시면 됩니다.

  2. BlogIcon 상현넘™ 2009.09.04 08:23 Address Modify/Delete Reply

    좋은 내용 감사합니다.
    설치시간을 확실히 줄일수 있겠네요..
    통합DVD만들어 놓고 다음 포멧시 한번 해봐야 겠습니다.
    그리고 내용 좀 제 블로그에 퍼가도 될까요??
    출처는 꼭 남기도록 하겠습니다.

  3. BlogIcon 상현넘™ 2009.09.05 09:36 Address Modify/Delete Reply

    안녕하세요!!~~
    또 글을 남기네요..
    위 방법처럼 통합을 하고 설치를 해보았습니다.
    설치 잘되네요^^ 근데 마지막 로그에 보면 Microsoft SQL Server Database Publishing Wizard 1.3 구성 설치에 실패를 했다고 나오네요!!
    그냥 파일 복사만 해 놓으면 되는게 아닌지요??

    그리고 SP1에 있는 사용한 파일들( MSP, MSI, EXE )을 삭제하고 SP1Installer.exe 를 실행시켜 나머지 SP1 파일을 설치하려고 하는데요..
    설치를 시작하면 다음으로 넘어가질 않네요!!
    혹시 SP1 에서 파일 삭제 후 설정을 해줘야 하는 항목이 존재를 하나요??

    시간될때 답변 좀 부탁드립니다^^

    • BlogIcon 헬마 2009.09.06 01:05 신고 Address Modify/Delete

      먼저, 설치로그에 SQL Server 관련 설치가 실패했다고 나오는 것은 비주얼 스튜디오 설치관리자가 정확히 인식하지 못해서 입니다. 제어판에 추가/삭제에 보시면 정확히 설치되어 있는 것을 보실 수 있습니다.

      저는 SP1Installer.exe 를 실행시키면 webDesigner_Core 등 몇가리를 5분정도로 빠르게 설치 후 모든 과정이 종료도비니다. Sp1 에 나머지 파일들의 목록이라던지, 어떻게 진행이 되지 않는지 스샷등으로 혹시 확인할 수 있나요?

    • BlogIcon 헬마 2009.09.06 01:17 신고 Address Modify/Delete

      아래 파일 목록은 제가 통합과정을 끝낸 후 SP1 설치관리자 쪽에 남은 파일 목록입니다. ^^

      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\1033
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\1042
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\DHtmlHeader.html
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\DTE90SP1-KB950425-ENU.msp
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\header.bmp
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\list.txt
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\ParameterInfo.xml
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\SPInstaller.exe
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\SPInstallerEngine.dll
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\SPInstallerUi.dll
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\SqlPubWizInstaller.exe
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\sqmapi.dll
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\TEMP
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\UiInfo.xml
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\VS90sp1-KB945140-IA64-ENU.msp
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\VS90sp1-KB945140-X64-ENU.msp
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\vstor30sp1-KB949258-x86.msp
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\watermark.bmp
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\WebDesignerCore_KB945140.msp
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\WebDesignerCore_KB950278.msp
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\WinSDK-KB946729.msp
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\WinSDK-KB946733-enu.msp
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\WinSDK-KB950424.msp
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\1033\eula.rtf
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\1033\LocalizedData.xml
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\1033\SPInstallerResources.dll
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\1042\eula.rtf
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\1042\SPInstallerResources.dll
      D:\VS2008SP1ENU\Extra SP1 Files\vs90sp1\TEMP\ParameterInfo.xml

  4. BlogIcon 상현넘™ 2009.09.10 20:28 신고 Address Modify/Delete Reply

    안녕하세요!!
    답변 감사합니다. SQL 부분은 말씀대로 설치가 되어 있네요^^

    그리고 통합 후 SP1 폴더에서 통합한 파일을 제거한 목록은 아래 이미지와 같습니다.
    https://t1.daumcdn.net/cfile/tistory/1507B8234AA8E14C16

    또한 SPInstaller.exe 를 실행 시키면 영향을 받는 제품 목록이 나오고 다음 버튼을 누르고 동의를 하고 다시 다음으로 가면 아래와 같은 이미지처럼 나옵니다.
    https://t1.daumcdn.net/cfile/tistory/1178A01F4AA8E1D162

    위 이미지를 보면 다운로드 하는데 처음에는 2시간이 걸린다고 하더니 조금 지나니 한시간30분이 걸린다고 하네요..
    예전에는 아에 다운로드도 안하고 10분이 넘도록 지나도 아무 반응이 없었는데요!!
    뭐가 문제일까요??

    • BlogIcon 헬마 2009.09.10 21:14 신고 Address Modify/Delete

      음.. 받으신 SP1 설치관리자가 웹 설치관리자가 아닐까 합니. ^^

      제 네이트온(jgh0721@nate.com) 으로 연락주시면 제가 가진 SP1 부분을 압축하여 드리곘습니다. ^^