共用方式為


使用自動安裝程式安裝 IIS 7.0

作者 :Tobin Titus

簡介

Pkgmgr.exe是 Windows Vista/Windows Server® 2008 中安裝 Windows 選用功能的新命令工具:

  • 取代安裝 Windows 選用功能的sysocmgr.exe
  • 可讓您直接從命令提示字元或腳本安裝/取消安裝 Windows Vista 選擇性功能

Pkgmgr 可以採用命令列上安裝的 Windows 功能清單,或採用 xml 檔案名作為自動安裝的參數。 本文將說明如何使用 pkgmgr 自動安裝選擇性功能。

必要條件

支援的 Windows Vista/Windows Server 2008 版本

本逐步解說適用于下列版本的 Windows Vista/Windows Server 2008:

  • Windows Vista Home Premium Edition
  • Windows Vista Professional Edition
  • Windows Vista Ultimate Edition
  • Windows Server 2008 版本

繼續之前,請確定您已安裝其中一個支援的 Windows Vista/Windows Server 2008 版本。

本機使用者系統管理員 (LUA) 安全性

確定您在電腦上具有系統管理許可權:如果您以非內建系統管理員帳戶的使用者身分登入,則不會有這些許可權,即使此使用者已新增至電腦上的本機 Administrators 群組, (這是 Windows Server 2008 中的新安全性功能,稱為 LUA, 超出本文的範圍) 。 請務必使用 「runas」 Cmd-line 工具,以內建系統管理員帳戶身分登入,或視需要明確叫用應用程式作為內建系統管理員。

例如,若要啟動notepad.exe,請執行此命令:「runas /user:administrator notepad.exe」。 系統會提示您輸入系統管理員帳戶的密碼。 執行 「runas /user:administrator cmd.exe」,讓已提升許可權的 Cmd-box 殼層很有用。 您從該 Cmd-box 執行的每個應用程式也會提高許可權,而且您不需要使用該 Cmd-box 的 「runas」 語法。

程序

步驟 1:Pkgmgr.exe概觀

Vista/Windows Server 2008 中的 Windows 選用功能是使用名為 Pkgmgr 的新命令工具來安裝。 使用 pkgmgr.exe 的命令列語法如下:

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

Pkgmgr.exe命令

/iu:{update name};

這會指定要依更新名稱安裝的更新,並採用以分號分隔的更新名稱進行安裝。

/uu:{update name};

這會指定要卸載的更新,並採用分號分隔的可選取更新清單,以從系統卸載。 至少必須指定一個更新名稱

/n:{unattend XML}

這會指定自動 XML 檔案的檔案名。

注意

如果您在沒有 「start /w」 前置詞的情況下執行 pkgmgr,pkgmgr Cmd 會立即傳回,而且您不知道何時完成選擇性功能安裝。

步驟 2:開啟命令視窗

遵循上述必要條件一節中的指示,以啟動以本機系統管理員帳戶身分執行的命令視窗。

步驟 3:建立Unattend.xml檔案

從命令視窗執行 notepad.exe。

若要只安裝 IIS 7.0 預設功能,請將下列unattend.xml文字複製到記事本。

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

如果您想要安裝所有 IIS 7.0 功能以供評估之用,請使用下列其中一個unattend.xml檔案。

若為 Windows Vista Professional、Windows Vista Ultimate 或 Windows Server 2008 版本,請將下列文字複製並貼到記事本中。

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

如果您要在 Windows Vista 家用版上安裝 IIS 7.0,請將下列文字複製並貼到記事本:

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

步驟 4:取得 Windows 組建編號

然後您必須檢查已安裝的 Windows 版本號碼。 若要尋找確切的版本,請執行下列動作:

  1. 從 [開始] 功能表中,按一下 [ 執行 ],然後移至總管。

    • 在總管中,流覽至 Windows 直接存取並找出regedit.exe
    • 以滑鼠右鍵按一下 regedit.exe ,然後選取 [屬性]
    • 在 [屬性] 對話方塊中,選取 [ 詳細資料 ] 索引標籤,並記下 [產品版本]。
      [regedit 屬性] 對話方塊的 [詳細資料] 索引標籤螢幕擷取畫面,其中已醒目提示 [產品版本] 欄位。
  2. 在記事本中,在 XML 屬性版本中輸入此值,以符合您已安裝的組建。

    • 在此情況下,version=「6.0.5308.6」

    • 如果您已安裝在 64 位 CPU 上,則必須編輯 processorArchitecture XML 屬性:

      processorArchitecture=「amd64」

注意

可能的值為:x86、amd64 和 ia64。

步驟 5:儲存Unattend.xml檔案

儲存名稱為 「unattend.xml」 的記事本檔案

步驟 6:使用 Unattend.xml 檔案執行 Pkgmgr

在命令視窗中,輸入下列命令列:

start /w pkgmgr /n:unattend.xml

注意:如果您將unattend.xml儲存至磁片磁碟機資料夾,則命令視窗的目前磁片磁碟機和資料夾必須指定 pkgmgr /n: 參數中unattend.xml檔案的完整路徑。

步驟 7:等候安裝程式完成

透過 pkgmgr.exe 的 IIS 7.0 設定應該需要 1 到 5 分鐘的時間。 當命令提示字元傳回時,IIS 7.0 安裝程式就會完成。

步驟 8:檢查錯誤碼

在命令提示字元中,輸入:

echo %errorlevel%

結果為 0 表示成功。

總結

在本文中,我們已探討如何使用 pckmgr.exe 來安裝作業系統和 IIS 7.0。