Поделиться через


Использование автоматической установки для установки IIS 7.0

По Тобин Титус

Введение

Pkgmgr.exe — это новый командный инструмент в Windows Vista или Windows Server® 2008 для установки дополнительных компонентов Windows:

  • Заменяет sysocmgr.exe для установки дополнительных компонентов Windows
  • Позволяет устанавливать или отменять установку дополнительных компонентов Windows Vista непосредственно из командной строки или сценариев.

Pkgmgr может взять список компонентов Windows для установки в командной строке или использовать имя XML-файла в качестве параметра для автоматической установки. В этой статье показано использование файлов автоматической установки pkgmgr для установки дополнительных компонентов.

Предварительные требования

Поддерживаемые выпуски Windows Vista и Windows Server 2008

Это пошаговое руководство предназначено для следующих выпусков Windows Vista/Windows Server 2008:

  • Windows Vista Home Premium Edition
  • Windows Vista Professional Edition
  • Windows Vista Ultimate Edition
  • Выпуски Windows Server 2008

Прежде чем продолжить, убедитесь, что установлен один из поддерживаемых выпусков Windows Vista или Windows Server 2008.

Безопасность локального администратора пользователей (LUA)

Убедитесь, что у вас есть права администратора на компьютере. По умолчанию они отсутствуют, если вы вошли в систему как пользователь, отличный от встроенной учетной записи администратора, даже если этот пользователь был добавлен в локальную группу администраторов на компьютере (это новая функция безопасности в Windows Server 2008, называемая LUA, который выходит за рамки область этой статьи). Обязательно войдите в систему от имени встроенной учетной записи администратора или явным образом вызовите приложения в качестве встроенного администратора при необходимости с помощью средства cmd-line runas.

Например, чтобы запустить notepad.exe, выполните следующую команду: "runas /user:administrator notepad.exe". Вам будет предложено ввести пароль учетной записи администратора. Полезно иметь оболочку cmd-box с повышенными привилегиями, выполнив команду runas /user:administrator cmd.exe. Каждое приложение, запускаемое из этого cmd-box, также имеет повышенные привилегии, и вам не нужно использовать синтаксис runas из этого cmd-box.

Процедура

Шаг 1. Обзор Pkgmgr.exe

Дополнительные компоненты Windows в Vista/Windows Server 2008 устанавливаются с помощью новой командной программы Pkgmgr. Синтаксис командной строки, использующий pkgmgr.exe:

Start /w pkgmgr.exe /iu:update1;update2…

КомандыPkgmgr.exe

/iu:{update name};

Это указывает обновления для установки по имени обновления и принимает имя обновлений, разделенных точкой с запятой.

/uu:{update name};

Это указывает обновления, которые нужно удалить, и принимает разделенный точкой с запятой список доступных для выбора обновлений, которые будут удалены из системы. Необходимо указать хотя бы одно имя обновления.

/n:{unattend XML}

Указывает имя xml-файла автоматической настройки.

Примечание

Если вы запускаете pkgmgr без префикса start /w, cmd pkgmgr возвращается немедленно, и вы не будете знать, когда завершится установка необязательного компонента.

Шаг 2. Открытие командного окна

Следуйте инструкциям в разделе Предварительные требования выше, чтобы запустить командное окно от имени учетной записи локального администратора.

Шаг 3. Создание файла Unattend.xml

В командном окне выполните notepad.exe.

Чтобы установить только компоненты IIS 7.0 по умолчанию, скопируйте следующий текст 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"> 
      <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="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.0 в целях оценки, используйте один из следующих файлов unattend.xml.

Для выпусков Windows Vista Professional, Windows Vista Ultimate или Windows Server 2008 скопируйте и вставьте в блокнот следующий текст.

<?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>

Если вы устанавливаете IIS 7.0 в Windows Vista Home Premium, скопируйте и вставьте в Блокнот следующий текст:

<?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. Чтобы найти точную версию, выполните следующие действия.

  1. В меню "Пуск" щелкните Выполнить и перейдите в обозреватель.

    • В проводнике перейдите в прямую папку Windows и найдите regedit.exe
    • Щелкните правой кнопкой мышиregedit.exeи выберите Свойства.
    • В диалоговом окне Свойства перейдите на вкладку Сведения и запишите версию продукта.
      Снимок экрана: вкладка
  2. В Блокноте введите это значение в версию атрибута XML, чтобы она соответствовала установленной сборке.

    • В этом случае version="6.0.5308.6"

    • Если вы установили на 64-разрядном ЦП, необходимо изменить XML-атрибут processorArchitecture:

      processorArchitecture="amd64"

Примечание

Возможные значения: x86, amd64 и ia64.

Шаг 5. Сохранение файла Unattend.xml

Сохраните файл Блокнота с именем "unattend.xml"

Шаг 6. Запустите Pkgmgr с файлом Unattend.xml

В командном окне введите следующую командную строку:

start /w pkgmgr /n:unattend.xml

Примечание. Если вы сохранили unattend.xml в папке диска, отличной от текущего диска и папки командного окна, необходимо указать полный путь к файлу unattend.xml в параметре pkgmgr /n: .

Шаг 7. Ожидание завершения установки

Настройка IIS 7.0 через pkgmgr.exe должна занять от 1 до 5 минут. После возврата командной строки установка IIS 7.0 завершена.

Шаг 8. Проверка кода ошибки

В командной строке ведите:

echo %errorlevel%

Результат 0 указывает на успешное выполнение.

Итоги

В этой статье мы рассмотрели, как использовать pckmgr.exe для установки операционной системы и IIS 7.0.