共用方式為


Microsoft .NET Framework 3.0 部署指南

 

Microsoft Corporation

2006 年 7 月

目錄

總結
簡介
安裝需求
   軟體需求
   硬體需求
取得 .NET Framework 3.0 可轉散發套件的位置
使用 Visual Studio 2005 安裝程式專案轉散發 .NET Framework 3.0
讓使用者手動安裝.NET Framework
鏈結應用程式安裝程式中的可轉散發套件
轉散發 web 應用程式的 .NET Framework 3.0
偵測 Microsoft .NET Framework 3.0
   讀取登錄機碼
   在 Internet Explorer 中讀取使用者代理程式字串
.NET Framework 3.0 可轉散發套件的命令列選項
.NET Framework 3.0 可轉散發套件的錯誤碼

總結

本文說明如何使用 Dotnetfx3.exe,.NET Framework 3.0 可轉散發套件部署 Microsoft .NET Framework 3.0 應用程式。 (10 個列印頁面)

注意 本檔可能包含討論散發案例的資訊,但檔不會授與您任何使用權或散發元件的任何部分。 您使用元件受限於元件的授權合約。 請檢閱元件授權合約,以瞭解您的權利和使用條件。

簡介

Microsoft.NET Framework 3.0 提供可轉散發安裝程式,其中包含.NET Framework 2.0 系結至必要的 Windows Vista API,以執行 .NET Framework 3.0 應用程式。

.NET Framework 3.0 可轉散發套件可作為獨立可執行檔。 檔案名取決於目標平臺的類型。 針對 32 位平臺,檔案會命名為 Dotnetfx3.exe。 若為 64 位平臺,檔案會命名為 Dotnetfx3_x64.exe。 您也可以部署名為 Dotnet3setup.exe 的小型可轉散發套件,以在安裝期間下載必要的元件。

注意.NET Framework 3.0 中的 IA64 支援僅限於名為 「Longhorn」 的 Microsoft Windows Server 程式碼。Longhorn 已經包含 .NET Framework 3.0,因此不需要可轉散發套件。

您可以在電腦上手動啟動並安裝可轉散發套件,也可以啟動並安裝為 .NET Framework 3.0 應用程式的安裝程式的一部分。

注意需要系統管理員許可權才能安裝 .NET Framework 3.0。

安裝需求

本節說明要安裝 Microsoft .NET Framework 3.0 可轉散發套件之電腦的軟體和硬體需求。 如果不符合最低需求,Dotnetfx3.exe將會封鎖可轉散發套件的安裝。

軟體需求

若要安裝 Microsoft .NET Framework 3.0,必須在目的電腦上安裝下列其中一個作業系統:

  • Microsoft Windows XP Home 或 Microsoft Windows XP Professional,同時包含 Service Pack 2 或更新版本。
  • Microsoft Windows Server 2003 系列 Service Pack 1 或更新版本。

對於 Microsoft Windows Vista (不包含 IA64 平臺) 和名為 「Longhorn」 IA64 Edition 的 Microsoft Windows Server 程式碼,.NET Framework 3.0 是作業系統的功能。

硬體需求

下表列出執行 .NET Framework 3.0 的硬體需求。

  需要 CPU 需要 RAM
最小值 Pentium 400 MHz 96 MB
建議 Pentium 1 GHz 或更高版本 256 MB 以上

取得 .NET Framework 3.0 可轉散發套件的位置

您可以從 Microsoft Vista下載中心Microsoft Windows Update網站下載 Microsoft .NET Framework 3.0 可轉散發套件。

注意Microsoft Windows Update網站僅提供正式發行的 .NET Framework 3.0 版本;它不提供 Beta 版本。

如果您需要讓使用者從網際網路安裝 Microsoft .NET Framework 3.0,請勿在您自己的網路上張貼可轉散發套件。 相反地,將使用者導向 Microsoft Vista下載中心Microsoft Windows Update網站。

使用 Visual Studio 2005 安裝程式專案轉散發 .NET Framework 3.0

當您部署使用 Visual Studio 2005 建立且需要 .NET Framework 3.0 的應用程式時,必須先在目的電腦上安裝 .NET Framework,才能安裝您的應用程式。 您可以在您使用 Visual Studio 2005 安裝程式專案建立的安裝程式可執行檔中包含 .NET Framework 3.0。 如果這並不實用,您可以讓使用者手動安裝.NET Framework,如稍後所述。

當您設定 Visual Studio 2005 安裝程式專案來安裝 Microsoft .NET Framework 3.0 與您的應用程式時,.NET Framework 3.0 會與您的應用程式一起封裝。 在應用程式的安裝程式中,啟動條件會檢查已安裝 whether.NET Framework 3.0,如有必要,安裝程式會在安裝應用程式之前安裝.NET Framework。 Microsoft .NET Framework 3.0 接著會檢查已安裝 whether.NET Framework 2.0。 如果沒有,安裝程式也會提示使用者安裝舊版的 .NET Framework。

若要在應用程式的安裝程式中包含 .NET Framework 3.0,您必須在建立安裝程式專案的電腦上安裝選用的 visual Studio Extensions for .NET Framework 3.0。

判斷是否已安裝適用于 .NET Framework 3.0 的 Visual Studio 延伸模組

  1. 在 Windows 主控台中,按一下 [新增或移除程式]。
  2. 在 [新增或移除程式] 對話方塊中,檢查 Microsoft Visual Studio 2005 Extensions for .NET Framework 3.0[目前已安裝的程式] 清單。

如果未列出適用于 .NET Framework 3.0 的 Visual Studio 2005 擴充功能,您可以在 Microsoft 下載中心上的Microsoft Visual Studio Code Name 「Orcas」 Community Technology Preview – Development Tools for WinFX頁面上下載並安裝擴充功能套件。

當您確定電腦上已安裝 visual Studio Extensions for .NET Framework 3.0 套件時,您可以建立包含 .NET Framework 3.0 的安裝專案。

若要在安裝專案中包含 .NET Framework 3.0

  1. 在 Visual Studio 2005 中,遵循下列步驟建立新的安裝專案:

    1. 在 [ 檔案] 功能表中,按一下 [ 新增],然後按一下 [ 專案]。
    2. [其他專案類型]底下,選取 [設定和部署]。
    3. 為您的專案命名,然後按一下 [ 確定]。
  2. 新增您的專案輸出、合併模組、檔案和元件。

  3. 在 [方案總管] 中,以滑鼠右鍵按一下專案名稱,然後按一下 [屬性]。

    [屬性頁面] 對話方塊隨即出現。

  4. 按一下 [必要條件]。

  5. 選取 [ 建立安裝程式以安裝必要條件元件 ] 核取方塊。

  6. 在清單中,找出Microsoft .NET Framework 3.0,然後選取適合目標平臺的版本。

  7. 指定必要條件的來源位置。

    針對 .NET Framework 3.0 的位置,您可以指定 Windows Vista 下載網站或您自己的網站。 URL 也可以指定散發您自己的應用程式所在的 CD。

  8. 按一下 [確定]。

讓使用者手動安裝.NET Framework

在某些情況下,您可能無法自動安裝應用程式.NET Framework 3.0。 在這種情況下,您可以讓使用者自己安裝 .NET Framework。 可轉散發套件可從數個來源取得,如先前在何處取得 the.NET Framework 3.0 可轉散發套件一節所述。 不過,您不應該假設應用程式的使用者知道要在哪裡取得它或如何安裝它。 所以請在安裝過程中提供指示,讓使用者知道應該如何找到和安裝 .NET Framework。

鏈結應用程式安裝程式中的可轉散發套件

如果您不想建立 Visual Studio 安裝程式專案,或讓使用者手動安裝 .NET Framework 3.0,您可以將 .NET Framework 3.0 安裝程式鏈結為您自己的應用程式安裝程式的一部分。 若要鏈結 .NET Framework 3.0 安裝程式,您可以從命令列執行可轉散發套件,並使用下列無訊息安裝命令列選項:

/q /norestart

轉散發 web 應用程式的 .NET Framework 3.0

在依賴 .NET Framework 3.0 功能的 Web 應用程式中,.NET Framework可能需要下載並安裝在使用者的電腦上。 您可以查詢瀏覽器標頭中的 user-agent 字串,判斷是否已在使用者的電腦上安裝 .NET Framework 3.0。 如果未安裝正確的.NET Framework版本,您可以將使用者導向至 .NET Framework 3.0下載中心,以取得 .NET Framework 3.0 套件。

偵測 Microsoft .NET Framework 3.0

您可以藉由讀取登錄機碼以及查詢 Internet Explorer 中的使用者代理程式字串,來偵測是否已安裝 .NET Framework 3.0。

讀取登錄機碼

.NET Framework 3.0 安裝程式會在安裝成功時寫入登錄機碼。 您可以藉由檢查下表所列的登錄機碼,來測試已安裝 whether.NET Framework 3.0。

登錄機碼名稱
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup
名稱 InstallSuccess

類型:DWORD

資料1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform
名稱Version

類型:REG_SZ

資料.NET CLR 3.0.build number

在 Internet Explorer 中讀取使用者代理程式字串

在電腦上安裝 .NET Framework 3.0 時,.NET Framework 3.0 版本號碼會顯示為瀏覽器標頭中所報告使用者代理程式字串的一部分。 下列範例顯示使用 JavaScript 偵測並報告已安裝 Framework 3.0 whether.NET 頁面的範例頁面。

注意 此範例頁面需要 Internet Explorer。

<HTML>
  <HEAD>
    <TITLE>Test for .NET Framework 3.0</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var NETFX3RuntimeVersion = "3.0.50727";
    
    function window::onload()
    {
      if (HasRuntimeVersion(NETFX3RuntimeVersion))
      {
result.innerText = "This machine has the correct version of the .NET 
Framework 3.0 runtime: " + NETFX3RuntimeVersion + "."  + "\n\nThis 
machine's userAgent string is: " + navigator.userAgent + ".";
      } 
      else
      {
        document.write("The .NET Framework version 3.0 is not installed on this computer.<br/>"
+ "<a href='https://msdn.microsoft.com/windowsvista/default.aspx'>"
+ "Click here to get</a> .NET Framework 3.0 now.");      }
    }
    
    //
    // Retrieve the version from the user agent string and compare with specified version.
    //
    function HasRuntimeVersion(versionToCheck)
    {
      var userAgentString = navigator.userAgent.match(/.NET Framework 3.0 RunTime [0-9.]+/g);

      if (userAgentString != null)
      {
        var i;

        for (i = 0; i < userAgentString.length; ++i)
        {
          if (CompareVersions(GetVersion(versionToCheck), GetVersion(userAgentString[i])) <= 0)
            return true;
        }
      }

      return false;
    }

    //
    // Extract the numeric part of the version string.
    //
    function GetVersion(versionString)
    {
      var numericString = versionString.match(/([0-9]+)\.([0-9]+)\.([0-9]+)/i);
      return numericString.slice(1);
    }

    //
    // Compare the version strings by converting them to numeric format.
    //
    function CompareVersions(version1, version2)
    {
      for (i = 0; i < version1.length; ++i)
      {
        var number1 = new Number(version1[i]);
        var number2 = new Number(version2[i]);

        if (number1 < number2)
          return -1;

        if (number1 > number2)
          return 1;
      }

      return 0;
    }
    
    -->
    </SCRIPT>
  </HEAD>
  
  <BODY>
    <div id="result" />
  </BODY>
</HTML>

如果搜尋字串 「.NET Framework 3.0」 成功,則會顯示下列訊息:

This machine has the correct version of the .NET Framework 3.0: 3.0.50727.
This machine's userAgent string is: Mozilla/4.0 (compatible; MSIE 6.0; 
Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 
3.0.50727).

否則,會出現下列訊息:

The .NET Framework version 3.0 is not installed on this computer.
Click here to get the .NET Framework 3.0 now.

.NET Framework 3.0 可轉散發套件的命令列選項

下表列出當您從命令列執行 .NET Framework 3.0 可轉散發安裝程式 (Dotnetfx3.exe、Dotnetfx3_x64.exe或Dotnet3setup.exe) 時可包含的選項。

選項 Description
/q
隱藏所有 UI。 無法使用此選項指定.INI檔案。
/quiet
/q 相同。
/qb
顯示最小的 UI,只顯示進度。
/passive
/qb 相同。
/uninstall
卸載產品。
/remove
/uninstall 相同。
/f
修復已安裝的所有.NET Framework 3.0 元件。
/nopatch
指定不會套用修補程式,並略過修補程式檢查。
/norollback
指定如果安裝元件失敗,則不會回復安裝程式。
/norestart
指定安裝程式在安裝完成之後不會重新開機電腦。 如果需要重新開機,可轉散發安裝程式會傳回 ERROR_SUCCESS_REBOOT_REQUIRED (3010) 。
/?
顯示這個選項清單。

.NET Framework 3.0 可轉散發套件的錯誤碼

下表列出可由 .NET Framework 3.0 可轉散發安裝程式 (Dotnetfx3.exe、Dotnetfx3_x64.exe或Dotnet3setup.exe) 傳回的錯誤碼。 所有安裝程式版本的錯誤碼都相同。

錯誤碼 描述
ERROR_SUCCESS
0 動作已順利完成。
ERROR_INSTALL_USEREXIT
1602 使用者已取消安裝。
ERROR_INSTALL_FAILURE
1603 安裝期間發生嚴重錯誤。
ERROR_UNKNOWN_PRODUCT
1605 此動作僅適用于目前安裝的產品。
ERROR_PATCH_PACKAGE_INVALID
1636 無法開啟修補程式套件,或修補程式不適用於 .NET Framework 3.0。
ERROR_INVALID_COMMAND_LINE
1639 命令列引數無效。
ERROR_SUCCESS_REBOOT_INITIATED
1641 安裝程式已起始重新開機。 這表示成功,而且安裝程式會在重新開機後繼續。 (如果指定了 選項, /norestart 則不會執行重新開機。)
ERROR_PATCH_PACKAGE_REJECTED
1643 系統原則不允許修補程式套件。
ERROR_SUCCESS_REBOOT_REQUIRED
3010 需要重新開機才能完成安裝。 這個訊息表示成功。