Freigeben über


Verwenden der unbeaufsichtigten Installation zum Installieren von IIS 7.0

von Tobin Titus

Einführung

Pkgmgr.exe ist ein neues Befehlstool in Windows Vista/Windows Server® 2008 zum Installieren von optionalen Windows-Features:

  • Ersetzt sysocmgr.exe für die Installation optionaler Windows-Features
  • Ermöglicht ihnen, optionale Windows Vista-Features direkt über die Eingabeaufforderung oder aus Skripts zu installieren/deinstallieren

Pkgmgr kann eine Liste der Windows-Features verwenden, die auf der Befehlszeile installiert werden sollen, oder einen XML-Dateinamen als Parameter für Unattend-Installationen verwenden. In diesem Artikel wird die Verwendung von Unattend-Dateien von pkgmgr für die unbeaufsichtigte Installation optionaler Features veranschaulicht.

Voraussetzungen

Windows Vista/Windows Server 2008-Editionen werden unterstützt

Diese exemplarische Vorgehensweise gilt für die folgenden Editionen von Windows Vista/Windows Server 2008:

  • Windows Vista Home Premium-Edition
  • Windows Vista Professional-Edition
  • Windows Vista Ultimate-Edition
  • Windows Server 2008-Editionen

Stellen Sie sicher, dass Sie eine der unterstützten Editionen von Windows Vista/Windows Server 2008 installiert haben, bevor Sie fortfahren.

Sicherheit des lokalen Benutzeradministrators (Local User Administrator, LUA)

Stellen Sie sicher, dass Sie über Administratorrechte auf dem Computer verfügen: Standardmäßig verfügen Sie nicht über diese Berechtigungen, wenn Sie als ein anderer Benutzer als das integrierte Administratorkonto angemeldet sind, auch wenn dieser Benutzer der lokalen Administratorgruppe auf dem Computer hinzugefügt wurde (dies ist ein neues Sicherheitsfeature in Windows Server 2008, das als LUA bezeichnet wird, was über den Rahmen dieses Artikels hinausgeht). Melden Sie sich entweder als integriertes Administratorkonto an, oder rufen Sie Anwendungen bei Bedarf explizit als integrierten Administrator mithilfe des Befehlszeilentools „runas“ auf.

Beispiel: Um notepad.exe zu starten, führen Sie den folgenden Befehl aus: „runas /user:administrator notepad.exe“. Sie werden aufgefordert, das Kennwort für das Administratorkonto einzugeben. Es ist nützlich, eine Befehlsfeld-Shell zu verwenden, die bereits mit erhöhten Rechten versehen ist, indem Sie „runas /user:administrator cmd.exe“ ausführen. Jede Anwendung, die Sie aus diesem Befehlsfeld ausführen, wird ebenfalls mit erhöhten Rechten versehen, und Sie müssen die Syntax „runas“ in diesem Befehlsfeld nicht verwenden.

Prozedur

Schritt 1: Pkgmgr.exe-Übersicht

Optionale Windows-Features in Vista/Windows Server 2008 werden mit einem neuen Befehlstool namens Pkgmgr installiert. Die Befehlszeilensyntax mittels pkgmgr.exe lautet:

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

Pkgmgr.exe-Befehle

/iu:{update name};

Dadurch werden Updates angegeben, die anhand des Updatenamens installiert werden sollen, und es wird ein durch Strichpunkte getrennter Name der zu installierenden Updates übernommen.

/uu:{update name};

Dadurch werden die zu deinstallierenden Updates angegeben und eine durch Semikolon getrennte Liste der auswählbaren Updates übernommen, die vom System deinstalliert werden sollen. Mindestens ein Updatename muss angegeben werden

/n:{unattend XML}

Dadurch wird der Dateiname der Unattend.XML-Datei angegeben.

Hinweis

Wenn Sie pkgmgr ohne das Präfix „start /w“ ausführen, wird der pkgmgr-Befehl sofort zurückgegeben, und Sie werden nicht wissen, wann die optionale Featureinstallation abgeschlossen ist.

Schritt 2: Öffnen des Befehlsfensters

Befolgen Sie die Anweisungen oben im Abschnitt „Voraussetzungen“, um ein Befehlsfenster zu starten, das als lokales Administratorkonto ausgeführt wird.

Schritt 3: Erstellen einer Unattend.xml-Datei

Führen Sie im Befehlsfenster notepad.exe aus.

Um nur die IIS 7.0-Standardfeatures zu installieren, kopieren Sie den folgenden Unattend.xml-Text in den Editor.

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

Wenn Sie alle IIS 7.0-Features für Auswertungszwecke installieren möchten, verwenden Sie eine der folgenden Unattend.xml-Dateien.

Kopieren Sie für Windows Vista Professional-, Windows Vista Ultimate- oder Windows Server 2008-Editionen den folgenden Text, und fügen Sie ihn in Editor ein.

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

Wenn Sie IIS 7.0 unter Windows Vista Home Premium installieren, kopieren Sie den folgenden Text, und fügen Sie ihn in Editor ein:

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

Schritt 4: Abrufen der Windows-Buildnummer

Anschließend müssen Sie die Versionsnummer von Windows überprüfen, die Sie installiert haben. Gehen Sie wie folgt vor, um die genaue Version zu finden:

  1. Klicken Sie im Startmenü auf Ausführen, und wechseln Sie in den Explorer.

    • Browsen Sie im Explorer direkt zu Windows, und suchen Sie nach der regedit.exe-Datei
    • Klicken Sie mit der rechten Maustaste auf regedit.exe, und wählen Sie Eigenschaften aus
    • Wählen Sie im Dialogfeld „Eigenschaften“ die Registerkarte Details aus, und notieren Sie sich die Produktversion.
      Screenshot of the regedit Properties dialog box's Details tab, with the Product version field being highlighted.
  2. Geben Sie in Ihrem Editor diesen Wert in die XML-Attributversion ein, um dem Build zu entsprechen, den Sie installiert haben.

    • In diesem Fall die Version=“6.0.5308.6“

    • Wenn Sie auf einer 64-Bit-CPU installiert haben, müssen Sie das XML-Attribut processorArchitecture bearbeiten:

      processorArchitecture=“amd64“

Hinweis

Mögliche Werte sind: x86, amd64 und ia64.

Schritt 5: Speichern der Unattend.xml-Datei

Speichern Sie die Editordatei mit dem Namen „Unattend.xml“

Schritt 6: Ausführen von Pkgmgr mit der Unattend.xml-Datei

Geben Sie im Befehlsfenster die folgende Befehlszeile ein:

start /w pkgmgr /n:unattend.xml

Hinweis: Wenn Sie Unattend.xml in einem anderen Laufwerkordner als dem aktuellen Laufwerk und Ordner Ihres Befehlsfensters gespeichert haben, müssen Sie den vollständigen Pfad der Unattend.xml-Datei in Ihrem pkgmgr-Parameter „/n:“ angeben.

Schritt 7: Warten Sie, bis das Setup abgeschlossen ist

Das IIS 7.0-Setup über pkgmgr.exe sollte 1 bis 5 Minuten dauern. Wenn die Eingabeaufforderung zurückgegeben wird, ist das IIS 7.0-Setup abgeschlossen.

Schritt 8: Überprüfen auf Fehlercodes

Geben Sie an der Eingabeaufforderung Folgendes ein:

echo %errorlevel%

Ein Ergebnis von 0 bedeutet erfolgreich.

Zusammenfassung

In diesem Artikel haben wir untersucht, wie sie pckmgr.exe zum Installieren des Betriebssystems und von IIS 7.0 verwenden.