부트스트래핑

현재 Windows Installer를 사용하려는 모든 설치에서는 우선 사용자의 컴퓨터에 설치 관리자가 있는지 검사한 다음, 설치 관리자가 없으면 사용자와 컴퓨터가 Windows Installer를 설치할 준비가 되었는지 확인합니다. 설치 애플리케이션 Instmsi.exe는 Windows Installer를 설치하기 위한 모든 논리 및 기능이 포함된 Windows Installer SDK에서 사용할 수 있습니다. 하지만 부트스트래핑 애플리케이션은 이런 설치를 관리해야 합니다.

부트스트래핑 애플리케이션은 먼저 Windows Installer가 현재 설치되어 있는지 확인해야 합니다. 애플리케이션은 DllGetVersion을 사용하여 현재 설치된 Windows Installer 버전을 가져올 수 있습니다. 현재 Windows Installer가 설치되어 있지 않으면 부트스트래핑 애플리케이션은 필요한 Instmsi.exe 버전을 확인하기 위해 운영 체제를 쿼리해야 합니다. Windows Installer 설치가 시작되면 부트스트래핑 애플리케이션은 Instmsi.exe 애플리케이션의 반환 코드를 처리하고 Windows Installer 설치 중에 발생하는 모든 재부팅을 처리해야 합니다. 자세한 내용은 Windows Installer 버전 확인을 참조하세요.

다음 예에서는 Microsoft Office 2000을 설치하는 설치 애플리케이션이 사용자의 시스템을 확인하고 Windows Installer 설치를 구성하는 방법을 보여줍니다. 이 예는 특별히 Office 2000을 설치하기 위해 작성되었으며 일반 참조용으로만 사용해야 합니다.

사용자가 컴퓨터에 Office 2000 CD-ROM을 삽입하면 Setup.exe는 사용자의 요구에 따라 유지 관리 모드, 설치 애플리케이션을 시작하려고 시도하거나 아무 작업도 수행하지 않습니다. 다음 섹션에서는 Setup.exe라는 Office 2000 설치 애플리케이션이 사용자와 컴퓨터를 인증하고 명령줄을 구성하며 Msiexec.exe 애플리케이션을 사용하여 Windows Installer를 설치하는 방법을 설명합니다.

Office 2000을 설치할 때 Setup.exe가 Windows Installer를 부트스트랩하는 방법

  1. 사용자가 컴퓨터에 Office 2000 CD-ROM을 넣습니다. Windows 운영 체제는 /autorun 스위치와 Autorun.inf 파일을 사용하여 Setup.exe를 시작합니다. Autorun.inf 파일은 Office 2000 CD-ROM의 루트에 있으며 다음 섹션을 포함합니다.

    [Autorun]

    [Office Features]

    [Product Information]

    [ServicePack]

    [Autorun] 섹션에는 Setup.exe 애플리케이션을 실행하고 디스크를 표시하는 데 사용되는 아이콘을 실행하는 명령줄이 포함되어 있고 CD-ROM의 바로 가기 메뉴에 "설치" 옵션 및 "구성" 옵션을 추가하는 정보가 포함되어 있습니다.

    [Office Features] 섹션에는 기능 및 기능 이름 쌍 목록이 포함되어 있습니다.

    [Product Information] 섹션에서는 애플리케이션의 이름과 버전을 지정합니다.

    [ServicePack] 섹션에서 네트워크 관리자가 필요한 최소 서비스 팩 수준을 설정할 수 있습니다. 네트워크 관리자는 이 섹션을 사용하여 로컬 운영 체제에 필요한 서비스 팩이 없는 경우 표시되는 경고 메시지의 텍스트를 작성할 수 있습니다.

    다음은 샘플 Autorun.inf입니다.

    [autorun] 
    OPEN=setup.EXE /AUTORUN /KEY:Software\Microsoft\Office\9.0\Common\General\InstallProductID
    ICON=setup.EXE,1
    shell\configure=&Configure
    shell\configure\command=setup.EXE
    shell\install=&Install
    shell\install\command=setup.EXE
    [OfficeFeatures]
    Feature1=ACCESSFiles
    Feature2=OfficeFiles
    Feature3=WORDFiles
    Feature4=EXCELFiles
    Feature5=PPTFiles
    [ProductInformation]
    DisplayName=Microsoft Office 9
    Version=9.0
    ProductCode={product guid}
    [ServicePack]
    MessageText="The operating system does not have a required service pack. Please download and install this from www.microsoft.com."
    SPLevel=3
    
  2. Setup.exe 애플리케이션은 _MsiPromptForCD 뮤텍스를 확인합니다. Windows Installer는 사용자에게 CD-ROM을 삽입하라는 메시지를 표시할 때 이 뮤텍스를 만듭니다. 뮤텍스가 있으면 Windows Installer가 Office 2000 CD-ROM을 요청한 설치를 실행하고 있음을 나타냅니다. 이 경우 Setup.exe 애플리케이션이 즉시 종료되고 Office 2000 설치가 계속됩니다. 뮤텍스가 없으면 Setup.exe 애플리케이션은 Office 2000이 설치되어 있는지 확인하기 위해 레지스트리 키를 평가하는 3단계에서 계속됩니다.

  3. Setup.exe 애플리케이션은 Office9 레지스트리 키가 있는지 확인합니다.

    HKCU/Software/Microsoft/Office/9.0/Common/General/InstallProductID

    이 레지스트리 키가 없으면 Setup.exe 애플리케이션은 운영 체제가 Office 2000 설치에 적합한지 확인하는 6단계를 계속합니다.

  4. Office 2000 레지스트리 키가 있는 경우 Setup.exe 애플리케이션은 MsiQueryProductState를 호출하여 현재 설치 상태를 확인합니다. InstallState_Default의 반환 상태는 Office 2000이 이미 설치되어 있으며 Setup.exe 애플리케이션은 Office 2000이 소스에서 실행되는지 확인하는 5단계에서 계속됨을 나타냅니다.

    Office 2000이 설치되어 있지 않으면 Setup.exe 애플리케이션은 운영 체제가 Office 2000 설치에 적합한지 확인하는 6단계를 계속합니다.

  5. Setup.exe 애플리케이션은 Autorun.inf 파일의 [OfficeFeatures] 섹션에 있는 각 기능에 대해 MsiQueryFeatureState를 호출합니다. 이러한 기능 중 하나라도 INSTALLSTATE_SOURCE를 반환하면 해당 기능이 소스에서 실행 중이고 Setup.exe 애플리케이션이 즉시 종료됨을 나타냅니다.

    INSTALLSTATE_SOURCE를 반환하는 기능이 없으면 Setup.exe 애플리케이션은 설치 관리자 애플리케이션 Msiexec.exe를 시작하고 종료하기 전에 Windows Installer 유지 관리 모드를 제공합니다.

  6. Setup.exe 애플리케이션은 운영 체제가 Office 2000 설치에 적합한지 여부를 결정합니다. Office 2000을 설치하려면 Windows XP가 필요합니다. Office 2000에 대한 자격을 얻기 위해 운영 체제에 서비스 팩 업데이트가 필요하면 Setup.exe 애플리케이션은 Autorun.inf 파일에 지정된 텍스트를 표시합니다. 운영 체제가 Office 2000 또는 Office 2000 업그레이드에 적합하지 않으면 Setup.exe 애플리케이션은 사용자가 계속할 수 없도록 하는 메시지를 표시합니다.

    운영 체제가 Office 2000에 적합하면 Setup.exe 애플리케이션은 사용자 컴퓨터에 Windows Installer가 설치되어 있는지 여부를 확인하는 7단계에서 계속됩니다.

  7. 사용자 컴퓨터에 Windows Installer가 있으면 Setup.exe 애플리케이션은 Msiexec.exe 애플리케이션을 시작하고 Office 2000 .msi 파일을 여기에 전달합니다.

    Windows Installer가 로컬 컴퓨터에 설치되지 않으면 Setup.exe 애플리케이션은 8단계에서 계속되어, 운영 체제가 Windows Installer를 설치하기에 적합한지 여부를 결정합니다.

  8. 로컬 컴퓨터가 Windows Installer를 설치하기에 적합하면 Setup.exe 애플리케이션은 플랫폼에 맞는 올바른 버전의 Instmsi.exe 설치 관리자 애플리케이션을 실행합니다. Setup.exe는 "/q" 명령줄 스위치를 전달하여 사용자 인터페이스가 표시되지 않고 사용자가 설치 구성 옵션을 변경하지 못하도록 할 수 있습니다.

  9. Setup.exe 애플리케이션은 새로 설치된 Msi.dll 파일을 로드하고 MsiInstallProduct 함수를 호출하여 사용자의 애플리케이션을 설치합니다.

Setup.exe 명령줄 매개 변수

Setup.exe 애플리케이션을 사용하면 관리자와 사용자가 명령줄 옵션을 Msiexec.exe 애플리케이션에 전달할 수 있습니다. 자세한 내용은 명령줄 옵션을 참조하세요. 다음 표에는 Setup.exe와 함께 사용할 수 있는 명령 옵션이 나열되어 있습니다.

옵션 사용량 의미
/autorun setup.exe /autorun 위에서 설명한 Autorun.inf를 실행합니다.
/a setup.exe/a 관리 설치를 시작합니다.
/j [u|m]Package 또는
[u|m]Package /t Transform List
또는
[u|m]Package /g LanguageID
제품을 보급합니다. 이 옵션은 명령줄에 입력된 속성 값을 무시합니다. u 현재 사용자에게 보급합니다.
m 컴퓨터의 모든 사용자에게 보급합니다.
g 언어 식별자
t 보급된 패키지에 변환을 적용합니다.
/I setup.exe /I Office9.msi /t ProgramMgmt.mst Setup.exe가 설치할 .msi 파일을 지정합니다. /I 옵션이 포함되지 않은 경우 Setup.exe는 Office9.msi 파일을 사용합니다.
/o<property=value> setup.exe /o CDKEY=111111-1111 .msi 파일에서 속성을 설정합니다. Setup.exe는 작성된 대로 이것을 msiexec에 전달합니다.
/q setup.exe /q 설치의 UI 수준을 설정합니다. /q UI 없음(msiexec의 경우 /qn) /qb 기본 UI
/qr 감소된 UI
/m# setup.exe /m4 Select 계약에 따라 여러 라이선스를 지원합니다. 이 속성은 라이선스 확인 사용자 지정 작업에서 LV 인증서를 작성하는 데 사용됩니다. /m 옵션 뒤에는 허용되는 잠금 해제 수가 있어야 합니다. /m 옵션으로 지정한 값은 Office9.msi 파일에서 "M" 속성으로 설정해야 합니다. 값을 지정하지 않았지만 설치 시 /m 옵션을 사용하는 경우 값을 0으로 설정해야 합니다. /m 옵션은 CD 또는 네트워크를 사용하여 Select 고객을 지원하는 데 필요합니다.
/settings setup.exe /settings mysettings.ini 관리자가 Office 2000을 설치하는 동안 전달될 모든 사용자 지정 설정이 포함된 .ini 파일을 지정할 수 있습니다. 아래 .ini 파일에 대한 설명을 참조하세요.

.ini 파일 사용

초기화 파일을 만드는 것이 긴 명령줄을 만드는 것보다 더 쉬울 수 있습니다. /settings 옵션을 사용하면 Setup.exe 애플리케이션은 지정된 .ini 파일을 읽고 Msiexec.exe 애플리케이션에 전달할 명령줄을 구성합니다. 명령줄에서 지원되는 속성만 .ini 파일에서 지원됩니다. 속성 또는 값이 .ini 파일과 명령줄 모두에서 발견되면 명령줄 설정은 .ini 파일 설정을 재정의합니다.

.ini 파일의 형식은 다음과 같습니다.

[msi]

[mst]

[options]

[Display]

.ini 파일의 [msi] 섹션은 설치를 위한 설치 패키지의 경로를 지정합니다. 명령줄의 /I 옵션에 해당합니다.

.ini 파일의 [mst] 섹션은 이 설치에 사용되는 변환 경로를 지정합니다. 명령줄의 /j 옵션에 해당합니다. 여러 변환은 MST1 MST(N)를 사용하여 각각 다른 줄에 표시됩니다. 명령줄로 구문 분석하면 .ini 파일의 목록이 왼쪽에서 오른쪽으로 바뀝니다. MST(N) 타이틀과 연결된 숫자는 고유 식별자를 유지하기 위해서만 존재하며 프로그래밍 방식의 의미는 없습니다.

[options] 섹션에서는 네트워크 관리자가 .msi 또는 .mst 파일의 속성을 설정하고 재정의할 수 있습니다. .ini 파일에 설정된 옵션은 /o 옵션을 사용하여 명령줄에 추가됩니다. option 섹션의 각 옵션에는 속성 이름과 값이 있어야 합니다.

[Display] 섹션은 설치 중에 사용되는 사용자 인터페이스 수준을 설정하는 데 사용됩니다. 명령줄의 /q 옵션에 해당합니다. 유효한 값은 none, basic, reduced 및 full입니다.

샘플 .ini 파일

[MSI]

MSI=\\sourceshare\Office2000\Office2000.msi

[MST]

MST1=\\sourceshare\Office2000\trns1.mst

MST2=\\sourceshare\Office2000\trns2.mst

[Options]

PUBLICPROPERTY=사용자 값

[Display]

Display=None