Partager via


Utilisation de l’installation sans assistance pour installer IIS 7.0

par Tobin Titus

Introduction

Pkgmgr.exe est un nouvel outil de commande dans Windows Vista/Windows Server ® 2008 qui permet d’installer des fonctionnalités Windows facultatives :

  • Remplace sysocmgr.exe pour l’installation de fonctionnalités Windows facultatives
  • Vous permet d’installer ou désinstaller des fonctionnalités facultatives de Windows Vista directement à partir de l’invite de commandes ou à partir de scripts

Pkgmgr peut prendre une liste de fonctionnalités Windows à installer sur la ligne de commande ou prendre un nom de fichier xml comme paramètre pour les installations sans assistance. Cet article illustre l’utilisation de fichiers pkgmgr sans assistance pour l’installation de fonctionnalités facultatives.

Prérequis

Éditions Windows Vista et Windows Server 2008 prises en charge

Ce guide concerne les éditions suivantes de Windows Vista/Windows Server 2008 :

  • Windows Vista Édition Familiale Premium
  • Windows Vista Édition Professionnelle
  • Windows Vista Édition Intégrale
  • Éditions Windows Server 2008

Vérifiez que vous avez installé l’une des éditions prises en charge de Windows Vista/Windows Server 2008 avant de continuer.

Sécurité de l’administrateur d’utilisateurs locaux (LUA, Local User Administrator)

Vérifiez que vous disposez de privilèges administratifs sur la machine. Par défaut, vous ne les avez pas si vous êtes connecté en tant qu’utilisateur différent du compte Administrateur intégré, même si cet utilisateur a été ajouté au groupe Administrateurs local sur la machine (il s’agit d’une nouvelle fonctionnalité de sécurité dans Windows Server 2008, appelée LUA, qui dépasse le sujet de cet article). Connectez-vous avec le compte d'administrateur intégré ou invoquez explicitement des applications en tant qu'administrateur intégré à l'aide de l'outil de ligne de commande « runas », le cas échéant.

Par exemple, pour lancer notepad.exe, exécutez la commande suivante : « runas /user:administrator notepad.exe ». Le mot de passe du compte Administrateur vous est demandé. Il est utile d’avoir un interpréteur de commandes cmd-box dont les privilèges sont élevés à l’aide de la commande « runas /user:administrator cmd.exe ». Chaque application que vous exécutez à partir de ce cmd-box disposera également de privilèges élevés et vous n’aurez pas besoin d’utiliser la syntaxe « runas » à partir de ce cmd-box.

Procédure

Étape 1 : Vue d’ensemble de pkgmgr.exe

Les fonctionnalités Windows facultatives dans Vista/Windows Server 2008 sont installées à l’aide d’un nouvel outil de commande appelé Pkgmgr. La syntaxe de ligne de commande pour pkgmgr.exe est la suivante :

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

Pkgmgr.exe Commands

/iu:{update name};

Cela spécifie les mises à jour à installer par nom de mise à jour et prend les noms de mises à jour à installer, séparées par des points-virgules.

/uu:{update name};

Cela spécifie les mises à jour à désinstaller et prend une liste des mises à jour pouvant être désinstallées du système, séparées par des points-virgules. Au moins un nom de mise à jour doit être spécifié

/n:{unattend XML}

Cela spécifie le nom de fichier du fichier XML sans assistance.

Remarque

Si vous exécutez pkgmgr sans le préfixe « start /w », la cmd pkgmgr est immédiatement retournée et vous ne saurez pas quand l’installation de la fonctionnalité facultative prend fin.

Étape 2 : Ouvrir la fenêtre de commande

Suivez les instructions dans la section Conditions préalables ci-dessus pour lancer une fenêtre de commande exécutée sous le compte Administrateur local.

Étape 3 : Créer un fichier unattend.xml

Dans la fenêtre de commande, exécutez notepad.exe.

Pour installer uniquement les fonctionnalités par défaut d’IIS 7.0, copiez le texte unattend.xml suivant dans le Bloc-notes.

<?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 vous souhaitez installer toutes les fonctionnalités d’IIS 7.0 à des fins d’évaluation, utilisez l’un des fichiers unattend.xml suivants.

Pour les éditions Windows Vista Professionnelle, Windows Vista Intégrale ou Windows Server 2008, copiez-collez le texte suivant dans le Bloc-notes.

<?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 vous installez IIS 7.0 sur l’édition Windows Vista Familiale Premium, copiez-collez le texte suivant dans le Bloc-notes :

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

Étape 4 : Obtenir le numéro de build Windows

Vous devez ensuite vérifier le numéro de la version de Windows que vous avez installé. Pour trouver la version exacte, procédez comme suit :

  1. Dans le menu Démarrer, cliquez sur Exécuter, puis accédez à l’explorateur.

    • Dans l’explorateur, accédez au répertoire Windows et repérez regedit.exe
    • Cliquez avec le bouton droit sur regedit.exe et sélectionnez Propriétés
    • Dans la boîte de dialogue Propriétés, sélectionnez l’onglet Détails et notez la version du produit.
      Screenshot of the regedit Properties dialog box's Details tab, with the Product version field being highlighted.
  2. Dans votre bloc-notes, entrez cette valeur dans la version d’attribut XML afin qu’elle corresponde au build que vous avez installé.

    • Dans ce cas, version="6.0.5308.6"

    • Si vous avez effectué l’installation sur un processeur 64 bits, vous devez modifier l’attribut XML processorArchitecture :

      processorArchitecture="amd64"

Remarque

Les valeurs possibles sont x86, amd64 ou ia64.

Étape 5 : Enregistrer le fichier unattend.xml

Enregistrez le fichier Bloc-notes sous le nom « unattend.xml »

Étape 6 : Exécuter Pkgmgr avec le fichier unattend.xml

Dans la fenêtre de commande, entrez la commande suivante :

start /w pkgmgr /n:unattend.xml

Remarque : si vous avez enregistré unattend.xml dans un dossier de disque différent du disque et du dossier actuels de votre fenêtre de commande, vous devez spécifier le chemin d’accès complet du fichier unattend.xml dans votre paramètre « pkgmgr /n: ».

Étape 7 : Attendre la fin de l’installation

L’installation d’IIS 7.0 via pkgmgr.exe devrait prendre 1 à 5 minutes. Lorsque l’invite de commandes réapparaît, l’installation d’IIS 7.0 est terminée.

Étape 8 : Vérifier le code d’erreur

À l’invite de commandes, tapez :

echo %errorlevel%

Un résultat de 0 indique la réussite.

Résumé

Dans cet article, nous avons examiné comment utiliser pckmgr.exe pour installer le système d’exploitation et IIS 7.0.