Condividi tramite


Uso dell'installazione automatica per installare IIS 7.0

di Tobin Titus

Introduzione

Pkgmgr.exe è un nuovo strumento di comando in Windows Vista/Windows Server® 2008 per l'installazione di funzionalità facoltative di Windows:

  • Sostituisce sysocmgr.exe per l'installazione delle funzionalità facoltative di Windows
  • Consente di installare/annullare l'installazione delle funzionalità facoltative di Windows Vista direttamente dal prompt dei comandi o dagli script

Pkgmgr può accettare un elenco di funzionalità di Windows da installare nella riga di comando o accettare un nome di file xml come parametro per le installazioni di installazione automatica. Questo articolo illustra l'uso dei file di installazione automatica di pkgmgr per l'installazione di funzionalità facoltative.

Prerequisiti

Edizioni di Windows Vista/Windows Server 2008 supportate

Questa procedura dettagliata è per le seguenti edizioni di Windows Vista/Windows Server 2008:

  • Windows Vista Home Premium Edition
  • Windows Vista Professional Edition
  • Windows Vista Ultimate Edition
  • Edizioni di Windows Server 2008

Assicurarsi di aver installato una delle edizioni supportate di Windows Vista/Windows Server 2008 prima di procedere.

Sicurezza dell'amministratore utenti locale

Assicurarsi di disporre di privilegi amministrativi nel computer: per impostazione predefinita, non sono disponibili se si è connessi come utente diverso dall'account amministratore predefinito, anche se l'utente è stato aggiunto al gruppo Administrators locale nel computer (si tratta di una nuova funzionalità di sicurezza in Windows Server 2008, denominata LUA, che esula dall'ambito di questo articolo. Assicurarsi di accedere come account amministratore predefinito o richiamare in modo esplicito le applicazioni come amministratore predefinito, se necessario, usando lo strumento da riga di comando "runas".

Ad esempio, per avviare notepad.exe, eseguire questo comando: "runas /user:administrator notepad.exe". Viene richiesta la password dell'account amministratore. È utile avere una shell cmd-box già con privilegi elevati, eseguendo "runas /user:administrator cmd.exe". Ogni applicazione eseguita da tale cmd-box è elevata e non è necessario usare la sintassi "runas" da tale cmd-box.

Procedura

Passaggio 1: Panoramica di Pkgmgr.exe

Le funzionalità facoltative di Windows in Vista/Windows Server 2008 vengono installate usando un nuovo strumento di comando denominato Pkgmgr. La sintassi della riga di comando che usa pkgmgr.exe è:

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

ComandiPkgmgr.exe

/iu:{update name};

Specifica gli aggiornamenti da installare in base al nome dell'aggiornamento e accetta un nome separato da punto e virgola degli aggiornamenti da installare.

/uu:{update name};

Specifica gli aggiornamenti da disinstallare e accetta un elenco delimitato da punto e virgola di aggiornamenti selezionabili da disinstallare dal sistema. È necessario specificare almeno un nome di aggiornamento

/n:{unattend XML}

Specifica il nome file del file XML di installazione automatica.

Nota

Se si esegue pkgmgr senza il prefisso "start /w", il cmd di pkgmgr restituirà immediatamente e non si saprà quando l'installazione della funzionalità facoltativa è stata completata.

Passaggio 2: Aprire la finestra di comando

Seguire le istruzioni riportate nella sezione Prerequisiti precedente per avviare una finestra di comando in esecuzione come account amministratore locale.

Passaggio 3: Creare un file di Unattend.xml

Dalla finestra di comando eseguire notepad.exe.

Per installare solo le funzionalità predefinite di IIS 7.0, copiare il testo seguente unattend.xml nel Blocco note.

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

Per installare tutte le funzionalità di IIS 7.0 a scopo di valutazione, usare uno dei file di unattend.xml seguenti.

Per Windows Vista Professional, Windows Vista Ultimate o Windows Server 2008 Edition, copiare e incollare il testo seguente nel Blocco note.

<?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 si installa IIS 7.0 in Windows Vista Home Premium, copiare e incollare il testo seguente nel Blocco note:

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

Passaggio 4: Ottenere il numero di build di Windows

È quindi necessario controllare il numero di versione di Windows installato. Per trovare la versione esatta, eseguire le operazioni seguenti:

  1. Dal menu Start fare clic su Esegui e passare all'elenco delle cartelle.

    • Nello strumento di esplorazione passare a Windows diretto e individuare il regedit.exe
    • Fare clic con il pulsante destro del mouse su regedit.exe e scegliere Proprietà
    • Nella finestra di dialogo Proprietà selezionare la scheda Dettagli e prendere nota della versione del prodotto.
      Screenshot della scheda Dettagli della finestra di dialogo Proprietà regedit con il campo Versione prodotto evidenziato.
  2. Nel Blocco note immettere questo valore nella versione dell'attributo XML in modo che corrisponda alla build installata.

    • In questo caso, version="6.0.5308.6"

    • Se è stato installato in una CPU a 64 bit, è necessario modificare l'attributo XML processorArchitecture:

      processorArchitecture="amd64"

Nota

I valori possibili sono: x86, amd64 e ia64.

Passaggio 5: Salvare il file Unattend.xml

Salvare il file del Blocco note con il nome "unattend.xml"

Passaggio 6: Eseguire Pkgmgr con il file Unattend.xml

Nella finestra di comando immettere la riga di comando seguente:

start /w pkgmgr /n:unattend.xml

Nota: se è stato salvato unattend.xml in una cartella dell'unità, l'unità e la cartella correnti della finestra di comando, è necessario specificare il percorso completo del file unattend.xml nel parametro pkgmgr /n: .

Passaggio 7: Attendere il completamento dell'installazione

L'installazione di IIS 7.0 tramite pkgmgr.exe richiederà da 1 a 5 minuti. Al termine dell'installazione di IIS 7.0 al prompt dei comandi.

Passaggio 8: Controllare il codice di errore

Al prompt dei comandi digitare:

echo %errorlevel%

Un risultato pari a 0 indica l'esito positivo.

Riepilogo

In questo articolo è stato illustrato come usare pckmgr.exe per installare il sistema operativo e IIS 7.0.