Usar a instalação autônoma para instalar o IIS 7.0
por Tobin Titus
Introdução
Pkgmgr.exe é uma nova ferramenta de comando no Windows Vista/Windows Server® 2008 para instalar recursos opcionais do Windows:
- Substitui sysocmgr.exe para instalar recursos opcionais do Windows
- Permite que você instale/desinstale recursos opcionais do Windows Vista diretamente do prompt de comando ou de scripts
Pkgmgr pode usar uma lista de recursos do Windows para instalar na linha de comando ou usar um nome de arquivo xml como um parâmetro para instalações não autônomas. Este artigo ilustrará o uso de arquivos autônomos pkgmgr para instalar recursos opcionais.
Pré-requisitos
Edições com suporte do Windows Vista/Windows Server 2008
Este passo a passo é para as seguintes edições do Windows Vista/Windows Server 2008:
- Edição Windows Vista Home Premium
- Edição Windows Vista Professional
- Edição Windows Vista Ultimate
- Edições do Windows Server 2008
Verifique se você instalou uma das edições com suporte do Windows Vista/Windows Server 2008 antes de continuar.
Segurança do LUA (Administrador do Usuário Local)
Verifique se você tem privilégios de administrador no computador: se você fizer logon com um usuário diferente da conta de administrador interno, mesmo que esse usuário tenha sido adicionado ao grupo Administradores local no computador, por padrão, você não terá privilégios de administrador (este é um novo recurso de segurança do Windows Server 2008, chamado LUA, que está além do escopo deste artigo). Verifique se você fez logon com a conta de administrador interno ou invoque explicitamente os aplicativos como Administrador, conforme necessário, usando a ferramenta de linha comando "RunAs".
Por exemplo, para iniciar o notepad.exe, execute este comando: "runas /user:administrator notepad.exe". Você é solicitado a definir uma senha para a conta de Administrador. É útil ter um shell cmd-box que já tenha privilégios elevados, executando "runas /user:administrator cmd.exe". Todos os aplicativos executados usando esse cmd-box também têm privilégios elevados e você não precisa usar a sintaxe do "runas" nesse cmd-box.
Procedimento
Etapa 1: Visão geral do pkgmgr.exe
Os recursos opcionais do Windows no Vista/Windows Server 2008 são instalados usando uma nova ferramenta de comando chamada Pkgmgr. A sintaxe da linha de comando usando pkgmgr.exe é:
Start /w pkgmgr.exe /iu:update1;update2…
Comandos pkgmgr.exe
/iu:{update name};
Isso especifica as atualizações a serem instaladas pelo nome da atualização e usa um nome separado por ponto e vírgula das atualizações a serem instaladas.
/uu:{update name};
Isso especifica as atualizações para desinstalar e usa uma lista separada de ponto e vírgula de atualizações selecionáveis a serem desinstaladas do sistema. Pelo menos um nome de atualização deve ser especificado
/n:{unattend XML}
Isso especifica o nome do arquivo XML autônomo.
Observação
Se você executar pkgmgr sem o prefixo "start /w", o cmd pkgmgr retornará imediatamente e você não saberá quando a instalação do recurso opcional for concluída.
Etapa 2: Abrir a janela de comando
Siga as instruções na seção Pré-requisitos, acima, para iniciar uma janela de comando em execução como a conta de administrador local.
Etapa 3: Criar um arquivo Unattend.xml
Na janela de comando, execute notepad.exe.
Para instalar apenas os recursos padrão do IIS 7.0, copie o seguinte texto unattend.xml no bloco de notas.
<?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>
Se quiser instalar todos os recursos do IIS 7.0 para fins de avaliação, use um dos seguintes arquivos unattend.xml.
Para as Edições Windows Vista Professional, Windows Vista Ultimate ou Windows Server 2008, copie e cole o texto a seguir no bloco de notas.
<?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>
Se você estiver instalando o IIS 7.0 no Windows Vista Home Premium, copie e cole o seguinte texto no bloco de notas:
<?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>
Etapa 4: Obter o número de build do Windows
Em seguida, você deve verificar o número da versão do Windows instalado. Para localizar a versão exata, faça o seguinte:
No Menu Iniciar, clique em Executar e vá para o Explorer.
No bloco de notas, insira esse valor na versão do atributo XML para corresponder ao build instalado.
Nesse caso, version="6.0.5308.6"
Se tiver instalado em uma CPU de 64 bits, você deverá editar o atributo XML processorArchitecture:
processorArchitecture="amd64"
Observação
Os valores possíveis são: x86, amd64 e ia64.
Etapa 5: Salvar o arquivo Unattend.xml
Salvar o arquivo do bloco de notas com o nome "unattend.xml"
Etapa 6: Executar pkgmgr com o arquivo Unattend.xml
Na janela de comando, insira a seguinte linha de comando:
start /w pkgmgr /n:unattend.xml
Observação: se unattend.xml foi salvo em uma pasta de unidade e, em seguida, a unidade e a pasta atuais da janela de comando, você deve especificar o caminho completo do arquivo unattend.xml no parâmetro pkgmgr /n:.
Etapa 7: Aguardar a conclusão da instalação
A configuração do IIS 7.0 por meio de pkgmgr.exe deve levar de 1 a 5 minutos. Quando o prompt de comando é retornado, a instalação do IIS 7.0 é concluída.
Etapa 8: Verificar o código de erro
No prompt de comando digite:
echo %errorlevel%
Um resultado de 0 indica êxito.
Resumo
Neste artigo, examinamos como usar pckmgr.exe para instalar o sistema operacional e o IIS 7.0.