Uso de la instalación desatendida para instalar IIS 7.0
por Tobin Titus
Introducción
Pkgmgr.exe es una nueva herramienta de comandos de Windows Vista o Windows Server ® 2008 para instalar características opcionales de Windows:
- Reemplaza a sysocmgr.exe para instalar características opcionales de Windows.
- Permite instalar o desinstalar características opcionales de Windows Vista directamente desde el símbolo del sistema o desde scripts.
Pkgmgr puede tomar una lista de características de Windows para instalarlas en la línea de comandos o bien tomar un nombre de archivo xml como parámetro para las instalaciones desatendidas. En este artículo se muestra el uso de archivos pkgmgr de instalación desatendida para instalar características opcionales.
Requisitos previos
Ediciones compatibles de Windows Vista y Windows Server 2008
Este es un tutorial para las siguientes ediciones de Windows Vista o Windows Server 2008:
- Windows Vista Home Premium
- Windows Vista Professional Edition
- Windows Vista Ultimate Edition
- Ediciones de Windows Server 2008
Asegúrese de haber instalado una de las ediciones compatibles de Windows Vista o Windows Server 2008 antes de continuar.
Seguridad del administrador de usuarios local (LUA)
Asegúrese de tener privilegios administrativos en la máquina. Estos privilegios no se tienen de forma predeterminada si se ha iniciado sesión como usuario distinto de la cuenta predefinida de administrador, aunque el usuario se haya agregado al grupo de administradores local en la máquina (se trata de una nueva característica de seguridad de Windows Server 2008, llamada LUA, fuera del ámbito de este artículo). Asegúrese de iniciar sesión con la cuenta predefinida de administrador o invoque las aplicaciones de forma explícita como administrador predefinido, según sea necesario, mediante la herramienta de la línea de comandos "runas".
Por ejemplo, para iniciar notepad.exe, ejecute este comando: "runas /user:administrator notepad.exe". Se le pedirá la contraseña de la cuenta de administrador. Resulta útil tener un shell cmd-box que ya tenga privilegios elevados, mediante la ejecución de "runas /user:administrator cmd.exe". Todas las aplicaciones que se ejecuten desde ese cmd-box también tienen privilegios elevados y no es necesario usar la sintaxis "runas" desde ese cmd-box.
Procedimiento
Paso 1: Información general de Pkgmgr.exe
Las características opcionales de Windows Vista o Windows Server 2008 se instalan mediante una nueva herramienta de comandos llamada Pkgmgr. La sintaxis de la línea de comandos con pkgmgr.exe es:
Start /w pkgmgr.exe /iu:update1;update2…
Comandos pkgmgr.exe
/iu:{update name};
Especifica las actualizaciones que se van a instalar por nombre de actualización y toma una lista de los nombres de las actualizaciones que se van a instalar separados por punto y coma.
/uu:{update name};
Especifica las actualizaciones para desinstalar y toma una lista de las actualizaciones seleccionables que se van a desinstalar del sistema separadas por punto y coma. Debe especificarse al menos un nombre de actualización.
/n:{unattend XML}
Especifica el nombre del archivo XML de instalación desatendida.
Nota:
Si ejecuta pkgmgr sin el prefijo "start /w", el comando pkgmgr devolverá un resultado inmediato y no sabrá cuándo se ha completado la instalación de la característica opcional.
Paso 2: Abrir ventana de comandos
Siga las instrucciones de la sección de requisitos previos anterior para iniciar una ventana de comandos que se ejecute como cuenta de administrador local.
Paso 3: Crear un archivo Unattend.xml
En la ventana de comandos, ejecute notepad.exe.
Para instalar solo las características predeterminadas de IIS 7.0, copie el siguiente texto unattend.xml en el Bloc 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>
Si quiere instalar todas las características de IIS 7.0 con fines de evaluación, use uno de los archivos unattend.xml siguientes.
Para Windows Vista Professional, Windows Vista Ultimate o las ediciones de Windows Server 2008, copie el texto siguiente y péguelo en el Bloc 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>
Si va a instalar IIS 7.0 en Windows Vista Home Premium, copie el texto siguiente y péguelo en el Bloc 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>
Paso 4: Obtener el número de compilación de Windows
A continuación, debe comprobar el número de compilación de Windows que ha instalado. Para encontrar la versión exacta, haga lo siguiente:
En el menú Inicio, haga clic en Ejecutar y vaya al explorador.
En el Bloc de notas, escriba este valor en la versión del atributo XML para que coincida con la versión que ha instalado.
En este caso, sería version="6.0.5308.6"
Si ha realizado la instalación en una CPU de 64 bits, debe editar el atributo XML processorArchitecture:
processorArchitecture="amd64"
Nota:
Los valores posibles son: x86, amd64 e ia64.
Paso 5: Guardar el archivo unattend.xml
Guarde el archivo del Bloc de notas con el nombre "unattend.xml".
Paso 6: Ejecutar Pkgmgr con el archivo unattend.xml
Escriba la siguiente línea de comandos en la ventana de comandos:
start /w pkgmgr /n:unattend.xml
Nota: Si ha guardado unattend.xml en una carpeta que no sea la de la unidad actual y la carpeta de la ventana de comandos, debe especificar la ruta de acceso completa del archivo unattend.xml en el parámetro pkgmgr /n: .
Paso 7: Esperar a que se complete la instalación
La instalación de IIS 7.0 mediante pkgmgr.exe debe tardar entre 1 y 5 minutos. Cuando se devuelve el símbolo del sistema, la instalación de IIS 7.0 se ha completado.
Paso 8: Comprobar el código de error
En el símbolo del sistema, escriba:
echo %errorlevel%
Un resultado de 0 indica que la operación se ha realizado correctamente.
Resumen
En este artículo, hemos examinado cómo usar pckmgr.exe para instalar el sistema operativo e IIS 7.0.