IIS 7 무인 설치 방법

등록일시: 2006-10-17 09:58,  수정일시: 2013-12-05 15:28
조회수: 4,988
이 문서는 IIS 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.

서론

Pkgmgr.exe는 Windows의 선택적 기능들을 설치하기 위해 Windows Vista/Longhorn에서 제공되는 새로운 명령 프롬프트 도구입니다.

  • 기존에 Windows에서 선택적 기능들을 설치하기 위해서 제공되던 sysocmgr.exe를 대체합니다.
  • 명령 프롬프트나 스크립트에서 직접 Windows Vista의 선택적 기능들을 설치하거나 제거할 수 있습니다.

Pkgmgr은 무인 설치 방식으로 설치할 Windows 기능들의 목록을 명령 프롬프트에서 직접 지정하거나 XML 파일로 저장해서 파라메터로 전달할 수 있습니다. 본문에서는 선택적 기능들의 설치를 위한 pkgmgr의 무인 설치 파일 사용법을 살펴봅니다.

필수조건

지원되는 Windows Vista/Longhorn 에디션

본문의 미리보기는 다음 목록의 Windows Vista/Longhorn 에디션들을 그 대상으로 합니다.

  • Windows Vista Home Premium 에디션
  • Windows Vista Professional 에디션
  • Windows Vista Ultimate 에디션
  • Windows Server 코드명 Longhorn 에디션

다음 단계를 진행하려면 지원되는 Windows Vista/Longhorn의 에디션들 중 한 가지가 반드시 설치되어 있어야 합니다.

Local User Administrator(LUA) 보안

먼저 머신에 대한 관리자 권한을 갖고 있는지 확인하십시오. 내장된 Administrator 계정 이외의 계정으로 로그온했다면, 비록 그 계정이 머신의 로컬 Administrators 그룹에 속해 있더라도 기본적으로 관리자 권한이 없는 것으로 간주됩니다. (이는 LUA라는 Longhorn에서 제공되는 새로운 보안 관련 기능으로, 본문에서 다루고자 하는 범위를 벗어나는 주제입니다.) 내장된 Administrator 계정으로 로그온하거나, 명시적으로 "runas" 명령줄 도구를 사용해서 응용 프로그램을 내장된 Administrator 계정의 권한으로 실행시키십시오. 가령, notepad.exe를 실행하기 위해서 "runas /user:administrator notepad.exe" 같은 명령어를 실행할 수 있습니다. 이 명령어를 실행하면 Administrator 계정의 비밀번호 입력을 위한 대화 상자가 나타날 것입니다. "runas /user:administrator cmd.exe" 명령어를 실행해서 미리 관리자 권한을 가진 명령 프롬프트를 실행하는 것도 또 다른 방법입니다. 이 명령 프롬프트에서 실행되는 응용 프로그램들은 모두 관리자 권한으로 실행되며, 명령 프롬프트에서 다시 "runas" 구문을 사용할 필요가 없습니다.

단계 1: Pkgmgr.exe 개요

Vista/Longhorn의 선택적 기능들은 Pkgmgr이라는 명령 프롬프트 도구를 사용해서 설치 가능합니다. pkgmgr.exe를 사용하기 위한 구문은 다음과 같습니다.

Start /w pkgmgr.exe /iu:update1;update2 ...
Pkgmgr.exe 명령
/iu:{update name}; 업데이트명을 사용해서 설치될 업데이트를 지정합니다. 세미콜론으로 구분되는 설치할 업데이트명의 목록을 지정합니다.
/uu:{update name}; 제거될 업데이트들을 지정합니다. 세미콜론으로 구분되는, 시스템으로부터 제거될 선택된 업데이트명의 목록을 지정합니다. 최소한 하나 이상의 업데이트가 지정돼야 합니다.
/n:{unattend XML} 무인 설치를 위한 XML 파일명을 지정합니다.

노트: "start /w" 접두사 없이 pkgmgr을 실행하면, pkgmgr 명령이 즉시 반환되기 때문에 선택적 기능들의 설치가 언제 완료되는지를 확인할 수 없습니다.

단계 2: 명령 창 열기

필수조건 섹션의 지침에 따라 명령창을 로컬 Administrator 계정의 권한으로 실행하십시오.

단계 3: Unattend.xml 파일 생성

명령 프롬프트에서 notepad.exe를 실행시키십시오.

IIS 7의 기본 기능들만 설치하려면 다음의 unattend.xml 텍스트를 노트패드에 복사하십시오.

<?xml version="1.0" ?> 
<unattend xmlns="urn:schemas-microsoft-com:unattend"  
          xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
<servicing> 
  <!-- Install a selectable update in a package that is in the Windows Foundation namespace --> 
  <package action="configure"> 
    <ssemblyIdentity 
        name="Microsoft-Windows-Foundation-Package"
        version="6.0.5308.6"
        language="neutral"
        processorArchitecture="x86"
        publicKeyToken="31bf3856ad364e35"
        versionScope="nonSxS"
    />
    <selection name="IIS-WebServerRole" state="true"/> 
    <selection name="WAS-WindowsActivationService" state="true"/> 
    <selection name="WAS-ProcessModel" state="true"/> 
    <selection name="WAS-NetFxEnvironment" state="true"/> 
    <selection name="WAS-ConfigurationAPI" state="true"/> 
  </package> 
</servicing> 
</unattend> 

만약 평가 등의 이유로 IIS 7의 전체 기능을 설치하려면 에디션에 따라 다음 unattend.xml 파일들 중 하나를 사용하십시오.

Windows Vista Professional, Windows Vista Ultimate, 또는 Windows Server 코드명 Longhorn 에디션에 IIS 7을 설치하려면 다음 텍스트를 복사해서 노트패드에 붙여 넣으십시오.

<?xml version="1.0" ?> 
<unattend xmlns="urn:schemas-microsoft-com:unattend" 
          xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
<servicing>
  <!-- Install a selectable update in a package that is in the Windows Foundation namespace -->
  <package action="configure">
    <assemblyIdentity
        name="Microsoft-Windows-Foundation-Package"
        version="6.0.5308.6"
        language="neutral"
        processorArchitecture="x86"
        publicKeyToken="31bf3856ad364e35"
        versionScope="nonSxS"
    />
    <selection name="IIS-WebServerRole" state="true"/>
    <selection name="IIS-WebServer" state="true"/>
    <selection name="IIS-CommonHttpFeatures" state="true"/>
    <selection name="IIS-StaticContent" state="true"/>
    <selection name="IIS-DefaultDocument" state="true"/>
    <selection name="IIS-DirectoryBrowsing" state="true"/>
    <selection name="IIS-HttpErrors" state="true"/>
    <selection name="IIS-HttpRedirect" state="true"/>
    <selection name="IIS-ApplicationDevelopment" state="true"/>
    <selection name="IIS-ASPNET" state="true"/>
    <selection name="IIS-NetFxExtensibility" state="true"/>
    <selection name="IIS-ASP" state="true"/>
    <selection name="IIS-CGI" state="true"/>
    <selection name="IIS-ISAPIExtensions" state="true"/>
    <selection name="IIS-ISAPIFilter" state="true"/>
    <selection name="IIS-ServerSideIncludes" state="true"/>
    <selection name="IIS-HealthAndDiagnostics" state="true"/>
    <selection name="IIS-HttpLogging" state="true"/>
    <selection name="IIS-LoggingLibraries" state="true"/>
    <selection name="IIS-RequestMonitor" state="true"/>
    <selection name="IIS-HttpTracing" state="true"/>
    <selection name="IIS-CustomLogging" state="true"/>
    <selection name="IIS-ODBCLogging" state="true"/>
    <selection name="IIS-Security" state="true"/>
    <selection name="IIS-BasicAuthentication" state="true"/>
    <selection name="IIS-WindowsAuthentication" state="true"/>
    <selection name="IIS-DigestAuthentication" state="true"/>
    <selection name="IIS-ClientCertificateMappingAuthentication" state="true"/>
    <selection name="IIS-IISCertificateMappingAuthentication" state="true"/>
    <selection name="IIS-URLAuthorization" state="true"/>
    <selection name="IIS-RequestFiltering" state="true"/>
    <selection name="IIS-IPSecurity" state="true"/>
    <selection name="IIS-Performance" state="true"/>
    <selection name="IIS-HttpCompressionStatic" state="true"/>
    <selection name="IIS-HttpCompressionDynamic" state="true"/>
    <selection name="IIS-WebServerManagementTools" state="true"/>
    <selection name="IIS-ManagementConsole" state="true"/>
    <selection name="IIS-ManagementScriptingTools" state="true"/>
    <selection name="IIS-ManagementService" state="true"/>
    <selection name="IIS-IIS6ManagementCompatibility" state="true"/>
    <selection name="IIS-Metabase" state="true"/>
    <selection name="IIS-WMICompatibility" state="true"/>
    <selection name="IIS-LegacyScripts" state="true"/>
    <selection name="IIS-LegacySnapIn" state="true"/>
    <selection name="IIS-FTPPublishingService" state="true"/>
    <selection name="IIS-FTPServer" state="true"/>
    <selection name="IIS-FTPManagement" state="true"/>
    <selection name="WAS-WindowsActivationService" state="true"/>
    <selection name="WAS-ProcessModel" state="true"/>
    <selection name="WAS-NetFxEnvironment" state="true"/>
    <selection name="WAS-ConfigurationAPI" state="true"/>
  </package>
</servicing>
</unattend>

Windows Vista Home Premium 에디션에 IIS 7을 설치하려면 다음 텍스트를 복사해서 노트패드에 붙여 넣으십시오.

<?xml version="1.0" ?>
<unattend xmlns="urn:schemas-microsoft-com:unattend" 
          xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
<servicing> 
  <!-- Install a selectable update in a package that is in the Windows Foundation namespace --> 
  <package action="configure"> 
    <assemblyIdentity 
        name="Microsoft-Windows-Foundation-Package"
        version="6.0.5303.0"
        language="neutral"
        processorArchitecture="x86"
        publicKeyToken="31bf3856ad364e35"
        versionScope="nonSxS"
    />
    <selection name="IIS-WebServerRole" state="true"/> 
    <selection name="IIS-WebServer" state="true"/> 
    <selection name="IIS-CommonHttpFeatures" state="true"/> 
    <selection name="IIS-StaticContent" state="true"/> 
    <selection name="IIS-DefaultDocument" state="true"/> 
    <selection name="IIS-DirectoryBrowsing" state="true"/> 
    <selection name="IIS-HttpErrors" state="true"/> 
    <selection name="IIS-HttpRedirect" state="true"/> 
    <selection name="IIS-ApplicationDevelopment" state="true"/> 
    <selection name="IIS-ASPNET" state="true"/> 
    <selection name="IIS-NetFxExtensibility" state="true"/> 
    <selection name="IIS-ASP" state="true"/> 
    <selection name="IIS-CGI" state="true"/> 
    <selection name="IIS-ISAPIExtensions" state="true"/> 
    <selection name="IIS-ISAPIFilter" state="true"/> 
    <selection name="IIS-ServerSideIncludes" state="true"/> 
    <selection name="IIS-HealthAndDiagnostics" state="true"/> 
    <selection name="IIS-HttpLogging" state="true"/> 
    <selection name="IIS-LoggingLibraries" state="true"/> 
    <selection name="IIS-RequestMonitor" state="true"/> 
    <selection name="IIS-HttpTracing" state="true"/> 
    <selection name="IIS-CustomLogging" state="true"/> 
    <selection name="IIS-ODBCLogging" state="true"/> 
    <selection name="IIS-Security" state="true"/> 
    <selection name="IIS-BasicAuthentication" state="true"/> 
    <selection name="IIS-URLAuthorization" state="true"/> 
    <selection name="IIS-RequestFiltering" state="true"/> 
    <selection name="IIS-IPSecurity" state="true"/> 
    <selection name="IIS-Performance" state="true"/> 
    <selection name="IIS-HttpCompressionStatic" state="true"/> 
    <selection name="IIS-HttpCompressionDynamic" state="true"/> 
    <selection name="IIS-WebServerManagementTools" state="true"/> 
    <selection name="IIS-ManagementConsole" state="true"/> 
    <selection name="IIS-ManagementScriptingTools" state="true"/> 
    <selection name="IIS-ManagementService" state="true"/> 
    <selection name="IIS-IIS6ManagementCompatibility" state="true"/> 
    <selection name="IIS-Metabase" state="true"/> 
    <selection name="IIS-WMICompatibility" state="true"/> 
    <selection name="IIS-LegacyScripts" state="true"/> 
    <selection name="IIS-LegacySnapIn" state="true"/> 
    <selection name="WAS-WindowsActivationService" state="true"/> 
    <selection name="WAS-ProcessModel" state="true"/> 
    <selection name="WAS-NetFxEnvironment" state="true"/> 
    <selection name="WAS-ConfigurationAPI" state="true"/> 
  </package> 
</servicing> 
</unattend>

단계 4: Windows 빌드 번호 구하기

이제 설치된 Windows의 버전 번호를 확인해야 합니다. 정확한 버전 정보는 다음과 같은 방법으로 알아낼 수 있습니다.

  • 시작 메뉴에서 실행을 클릭하고 explorer를 입력하십시오.
  • 탐색기에서 Windows 폴더로 이동하고 regedit.exe를 직접 선택하십시오. regedit.exe를 마우스 오른쪽 버튼으로 클릭하고 속성 메뉴를 선택합니다. 그리고, 속성 대화 상자에서 Details 탭의 Product Version 정보를 살펴봅니다.

    그림 2: 빌드 번호
  • 이 빌드 번호를 노트패드에 복사해 놓은 XML의 assemblyIdentity 노드의 version 속성에 입력합니다.
    version="6.0.5308.6"
  • 만약 64 비트 CPU에서 설치를 진행한다면 processorArchitecture 속성도 다음과 같이 수정해줘야 합니다.
    processorArchitecture="amd64"
    이 속성에 입력 가능한 값으로는 x86, amd64, 그리고 ia64가 있습니다.

단계 5: Unattend.xml 파일 저장

노트패드의 내용을 "unattend.xml"라는 이름의 파일로 저장합니다.

단계 6: Unattend.xml 파일을 사용한 Pkgmgr 실행

명령 프롬프트에 다음의 명령을 입력합니다.

start /w pkgmgr /n:unattend.xml

노트: 만약, unattend.xml 파일이 명령 프롬프트가 위치한 현재 드라이브와 폴더가 아닌 다른 위치에 저장되어 있다면, pkgmgr 도구의 /n: 파라메터에 unattend.xml 파일의 올바른 전체 경로를 지정해줘야 합니다.

단계 7: 설치 완료 대기

pkgmgr.exe를 사용해서 IIS 7을 설치하는 경우, 약 1분에서 5분 가량이 소요됩니다. IIS 7의 설치가 완료되면 명령 프롬프트가 리턴됩니다.

단계 8: 오류 코드 점검

명령 프롬프트에 다음의 명령을 입력하십시오.

echo %errorlevel%

오류 코드 0은 설치 성공을 의미합니다.

단계 9: IIS 설치 점검

  • 인터넷 익스플로러 웹 브라우저를 실행하고 주소창에 http://localhost/라고 입력하십시오.
  • IIS 7의 기본 "Welcome" 페이지가 나타나야 합니다.

요약

본문에서는 pkgmgr.exe 명령 프롬프트 도구와 unattend.xml 파일을 사용해서 IIS 7을 설치하는 방법을 살펴봤습니다. IIS7 설치를 사용자 정의하는 방법에 대한 추가적인 정보는 IIS 7.0 Setup & Deployment 기사를 살펴보시기 바랍니다.

관련 링크

더 자세한 정보는 다음의 기사들을 참고하십시오.