Использование автоматической установки для установки 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. Чтобы найти точную версию, выполните следующие действия.
В меню "Пуск" щелкните Выполнить и перейдите в обозреватель.
В Блокноте введите это значение в версию атрибута 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.