摘要:Microsoft .NET Framework 3.0(以前稱為 WinFX)是用于 Windows 的新式托管代碼編程模型。要運行為 .NET Framework 3.0 編寫的應用程序,要求計算機上安裝 .NET Framework 3.0。本文簡要介紹 .NET Framework 3.0 和它與早期版本的 .NET Framework 的關系,提供安裝和部署 Framework 的相關信息,并描述如何檢測是否安裝了 .NET Framework 3.0。
本頁內容
簡介
.NET Framework 3.0 的安裝
.NET Framework 3.0 的部署
檢測 .NET Framework 3.0 和早期版本
.NET Framework 3.0 Redistributable 命令行選項
.NET Framework 3.0 Redistributable 錯誤代碼
附錄 A:檢測 .NET Framework 語言包
附錄 B:使用 Internet Explorer 檢測 .NET Framework 3.0 的示例腳本
簡介
本節對 .NET Framework 3.0 進行簡要介紹。本文章還包含指向英文網頁的連接。
關于 Microsoft .NET Framework 3.0
Microsoft .NET Framework 3.0(以前稱為 WinFX),是用于 Windows 的新式托管代碼編程模型。它將 .NET Framework 2.0 的功能和新的結構構建應用程序技術完美結合,可提供奪目的用戶視覺體驗、實現跨越技術邊界的無縫通信,并支持廣泛的業務流程。Microsoft 計劃將 .NET Framework 3.0 作為 Windows Vista 的一部分來提供。同時,Microsoft 也將在 Windows XP Service Pack 2 和 Windows Server 2003 Service Pack 1 中提供 .NET Framework。
下表列出了 .NET Framework 3.0 包含的若干技術。
技術 | 說明 |
Windows Presentation Foundation(WPF,以前的代號為“Avalon”) | 提供用于結合 UI、文檔和媒體構建下一代智能客戶端應用程序的類。 |
Windows Communication Foundation(WCF,以前的代號為“Indigo”) | 提供統一的編程模型和運行時,用以構建面向服務的應用程序。 |
Windows Workflow Foundation (WF) | 提供編程模型、引擎和工具來構建支持工作流的應用程序,以進行業務流程建模。 |
Windows CardSpace(以前的代號為“InfoCard”) | 通過使用個人標識信息,簡化和改善在線工作安全性。 |
Microsoft .NET Framework 2.0 | 提高了構建 Windows 和基于 Web 的應用程序的效率。 |
所有代表新組件(WPF、WF、WCF 和 CardSpace)的類均屬于系統命名空間。.NET 平臺的核心類,如公共語言運行時 (CLR) 和基類庫 (BCL),均保留了 .NET Framework 2.0 中的原樣。
下圖為 .NET Framework 3.0 的結構示例。
圖 1. .NET Framework 3.0
.NET Framework 3.0 如何與 .NET Framework 2.0 及更早版本相關聯
.NET Framework 3.0 增加了新技術,從而成為 .NET Framework 2.0 的超集。您可以將 .NET Framework 3.0 看成是 .NET Framework 2.0 的“附加”版本,是對 2.0 的一次全面修訂。(例如,.NET Framework 2.0 就是 .NET Framework 1.0 的一個改進版本。)
因為 .NET Framework 3.0 是一個附加版本,并且使用 .NET Framework 2.0 的核心運行時組件,所以它完全向后兼容其早期版本; .NET Framework 2.0 的現有應用程序可繼續運行,不需要任何修改;而且您可以使用隨 .NET Framework 2.0 一同提供的技術,保證投資的安全。
如果您正從 .NET Framework 1.1 或 1.0 移植到 .NET Framework 3.0,則部署前應該執行影響分析并運行兼容性測試。雖然我們已盡力使 .NET Framework 版本具備兼容性,但仍發現由于增加安全性和重要功能而存在個別不兼容的情況。有關詳細信息,請參閱 Microsoft .NET Developer Center 網站的 Breaking Changes in .NET Framework 2.0(英文)頁面。
.NET Framework 3.0 的服務策略
Microsoft 將依照支持 .NET Framework 2.0 的平臺所實施的標準支持策略,繼續為 .NET Framework 2.0 提供服務。當前依賴于 .NET Framework 2.0 的用戶,可以繼續使用該版本,并在軟件升級包發布后進行軟件升級。
.NET Framework 3.0 的所有組件都可在支持 .NET Framework 3.0 的平臺上運行。有關詳細信息,請參閱 Microsoft Visual Studio Developer Center 網站的 Software Update Technology(英文)頁面。
.NET Framework 未來版本路線圖
通常,任何 .NET Framework 的新版本都會在設計上提供與早期版本的向后兼容性。如果新發布版本由于安全問題或其他原因而引入了破壞性更改,Microsoft 將使您在保留當前版本的前提下,并列安裝新的版本。
有關詳細信息,請參閱 Microsoft .NET Framework Developer Center(英文)網站。
返回頁首
.NET Framework 3.0 的安裝
默認情況下,Microsoft Windows Vista 會安裝 .NET Framework 3.0。在代號為“Longhorn”的 Microsoft Windows Server 上,您可以使用角色管理工具,將 .NET Framework 作為 Windows 的一個功能進行安裝。
在 Windows XP 和 Windows Server 2003 上,.NET Framework 3.0 安裝程序還將添加任何尚未安裝的 .NET Framework 2.0 組件。如果已經安裝了 .NET Framework 2.0,.NET Framework 3.0 安裝程序將只添加 Windows Presentation Foundation (WPF)、Windows Workflow Foundation (WF)、Windows Communication Foundation (WCF) 和 Windows CardSpace 等組件的文件。
與 .NET Framework 2.0 共享的組件安裝在如下位置:
%windir%\Microsoft.NET\Framework\V2.0.50727
.NET Framework 3.0 的新組件安裝在如下位置:
%windir%\Microsoft.NET\Framework\V3.0
.NET Framework 3.0 組件的所有引用程序集安裝在如下位置:
%programfiles%\Reference Assemblies\Microsoft\Framework\v3.0
卸載 NET Framework 3.0 不會刪除與 .NET Framework 2.0 共享的組件。要刪除這些組件,您必須先卸載 .NET Framework 3.0,然后單獨卸載 .NET Framework 2.0。(可以使用 Windows 控制面板中的添加/刪除程序。)
.NET Framework 程序集的版本號
.NET Framework 3.0 與 .NET Framework 2.0 共享許多組件,公共語言運行時 (CLR) 和基類庫與 .NET Framework 2.0 的相同。因此,這些共享組件仍保留 2.0 版本。Windows Communication Foundation (WCF)、Windows Presentation Foundation (WPF)、Windows Workflow Foundation (WF) 和 Windows CardSpace 的所有運行時和引用程序集為 3.0 版本。
返回頁首
.NET Framework 3.0 的部署
本節提供部署 .NET Framework 3.0 以與您的應用程序配合使用的相關信息。
軟件要求
要安裝 .NET Framework 3.0,目標計算機上必須安裝以下操作系統之一:
- Microsoft Windows XP Home 或 Microsoft Windows XP Home Professional,帶 Service Pack 2 或更高版本。
- Microsoft Windows Server 2003 系列,帶 Service Pack 1 或更高版本。
注意 .NET Framework 2.0 可繼續在其目標平臺上運行。有關詳細信息,請參閱 MSDN 網站上的 .NET Framework 2.0 Redistributable Prerequisites(英文)頁面。
在默認情況下,.NET Framework 3.0 與 Microsoft Windows Vista 同時安裝。在 Microsoft Windows Server“Longhorn”上,可以使用角色管理工具,將 .NET Framework 3.0 作為 Windows 的一個功能進行安裝。
注意 Microsoft Windows Server“Longhorn”IA64 版是唯一一款 .NET Framework 3.0 支持的 IA64 平臺。
硬件要求
下表列出了運行 .NET Framework 3.0 的硬件要求。
- | CPU 要求 | RAM 要求 |
最低 | Pentium 400 MHz | 96 MB |
推薦 | Pentium 1 GHz 或更高 | 256 MB 或更大 |
.NET Framework 的重新分布權
Microsoft 強烈推薦客戶將 .NET Framework 作為其軟件解決方案的一部分,在企業內進行部署。分布 .NET Framework 3.0 運行時要求您接受許可條款。有關將 .NET Framework 3.0 重新分布到您的應用程序或第三方的信息,請參閱 MSDN 網站上的 The ISV Guide for Redistributing the .NET Framework and Other Runtime Components(英文)頁面。
注意 只有 Microsoft .NET Framework 3.0 正式發布版本才有重新分布權。您的應用程序可能無法重新分布 Microsoft .NET Framework 3.0 的預發布版本。
用于部署 .NET Framework 3.0 的 IT 管理員工具
.NET Framework 3.0 為 IT 管理員提供了兩種部署到域客戶端的方式:管理員模式安裝和Active Directory 部署。
管理員模式安裝
管理員模式安裝允許 IT 管理員使用 Microsoft 系統管理服務器 (SMS) 或其他軟件分布工具部署 .NET Framework。IT 管理員在無提示模式下進行 Framework 安裝。如果發生錯誤,安裝程序會退出而沒有提示,但會記錄錯誤代碼。
Active Directory 部署
在 Active Directory 部署中,管理員必須按照 .msi 文件的部署順序,將獨立的 .msi 文件從 .NET Framework 3.0 安裝軟件包中添加到組策略中。組策略啟用后,任何屬于該組策略的客戶端將在啟動并重新連接到網絡后,自動安裝這些組件。如果發生錯誤,安裝程序會退出而沒有提示,并會記錄錯誤代碼。
通過您的應用程序重新分布 .NET Framework
.NET Framework 3.0 重新分布軟件包可以作為獨立執行文件使用。文件名依據目標平臺的類型而定。對于 32 位平臺,文件名為 Dotnetfx3.exe。對于 64 位平臺,文件名為 Dotnetfx3_x64.exe。您還可以部署一個名為 Dotnet3setup.exe 的小型重新分布軟件包,以在安裝期間下載所需組件。
當通過應用程序分布 .NET Framework 3.0 重新分布軟件包時,您必須同意許可條款,這些許可條款會授予您特定的分布權利。
您可以在計算機上手動啟動和安裝重新分布軟件包,或將其作為 .NET Framework 3.0 應用程序安裝程序的一部分來啟動和安裝。
注意 安裝 .NET Framework 3.0 需要具有管理員權限。
返回頁首
檢測 .NET Framework 3.0 和早期版本
可通過讀取注冊表項和在 Internet Explorer 中查詢用戶代理字符串,來檢測是否已經安裝了 .NET Framework 3.0。
讀取注冊表項
您可查找一個特定的注冊表項值,來檢測計算機上是否已經安裝了 .NET Framework。下表中列出了您可以測試的注冊表項和值,以確定否已經安裝了特定版本的 .NET Framework。
版本 | 注冊表項名 | 值 |
3.0 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup | InstallSuccess (DWORD value = 1) |
2.0 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727 | Install (DWORD value = 1) |
1.1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 | Install (DWORD value = 1) |
1.0 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\v1.0 | Install (DWORD value = 1) |
注意 有關檢測以前為 .NET Framework 1.0 和 1.1 發布的服務包的詳細信息,請參閱 Microsoft 知識庫中的“How to determine which versions of the .NET Framework are installed and whether service packs have been applied”(英文),文章號為 318785。
在 Internet Explorer 中讀取用戶代理字符串
對于基于瀏覽器的應用程序,您可以使用計算機上運行的 Internet Explorer 來檢測用戶代理字符串,以檢測該計算機上是否已經安裝了 .NET Framework 3.0。用戶代理字符串包含主要和次要版本號之前的子串“NET CLR”。下面是一個用戶代理字符串示例:
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.04131.06)
附錄 B:使用 Internet Explorer 檢測 .NET Framework 3.0 的示例腳本列出了瀏覽器中運行的一個 JavaScript 示例程序,并顯示了當前 .NET Framework 版本號的相關信息。
發送到瀏覽器標題中的用戶代理字符串保存在服務器計算機的注冊表中,如下表所列。版本 | 注冊表項 |
3.0 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NETCLR.3.0.04131.06 注意 版號(實例中的 04131.06)會在 .NET Framework 3.0 最終發布時更改。 |
2.0 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR 2.0.50727 |
1.1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR 1.1.4322 |
返回頁首
.NET Framework 3.0 Redistributable 命令行選項
下表列出了從命令行中運行 .NET Framework 3.0 Redistributable 安裝程序(Dotnetfx3.exe、Dotnetfx3_x64.exe 或 Dotnet3setup.exe)時可以包含進去的選項。
選項 | 說明 |
/q |
終止所有 UI。該選項不能指定 .INI 文件。 |
/quiet |
與 /q 相同。 |
/qb |
顯示最小化 UI,僅顯示進程。 |
/passive |
與 /qb 相同。 |
/uninstall |
卸載產品。 |
/remove |
與 /uninstall 相同。 |
/f |
修補所有已安裝的 .NET Framework 3.0 組件。 |
/nopatch |
指明補丁不適用,忽略補丁檢測。 |
/norollback |
指明如果組件安裝失敗,安裝程序不回滾。 |
/norestart |
指明安裝完成后,安裝程序不會重啟計算機。如果要重啟,Redistributable 安裝程序將返回 ERROR_SUCCESS_REBOOT_REQUIRED (3010)。 |
/? |
顯示此列選項。 |
返回頁首
.NET Framework 3.0 Redistributable 錯誤代碼
下表列出了 .NET Framework 3.0 Redistributable 安裝程序(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 |
需要重啟才能完成安裝。該消息表示操作成功。 |
返回頁首
附錄 A:檢測 .NET Framework 語言包
下表列出了您可以讀取的注冊表值,以檢測計算機上是否已經安裝了 .NET Framework 語言包。有關如何檢測 .NET Framework 1.0 本地版本的詳細信息,請參閱 MSDN 網站上的 .NET Framework Redistributable Package Technical Reference(英文)頁面。
產品 | 注冊表值 | ||||||
中文(簡體)語言包 |
| ||||||
中文(繁體)語言包 |
| ||||||
捷克語語言包 |
| ||||||
丹麥語語言包 |
| ||||||
荷蘭語語言包 |
| ||||||
芬蘭語語言包 |
| ||||||
法語語言包 |
| ||||||
德語語言包 |
| ||||||
希臘語語言包 |
| ||||||
意大利語語言包 |
| ||||||
日語語言包 |
| ||||||
韓語語言包 |
| ||||||
挪威語語言包 |
| ||||||
波蘭語語言包 |
| ||||||
葡萄牙語(巴西)語言包 |
| ||||||
葡萄牙語(葡萄牙)語言包 |
| ||||||
俄語語言包 |
| ||||||
西班牙語語言包 |
| ||||||
瑞典語語言包 |
| ||||||
土耳其語語言包 |
|
返回頁首
附錄 B:使用 Internet Explorer 檢測 .NET Framework 3.0 的示例腳本
以下實例顯示了在瀏覽器中運行的 JavaScript 程序如何檢測 .NET Framework 3.0 是否正在運行。該腳本將搜索用戶代理字符串,并基于搜索結果顯示狀態消息。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> // |
如果成功搜索到字符串“.NET Framework 3.0”,將顯示以下消息:
此計算機有正確版本的 .NET Framework:3.0.04131.06。
此計算機的 userAgent 字符串為:Mozilla/4.0(可兼容;MSIE 6.0;
Windows NT 5.1;SV1;.NET CLR 1.1.4322;.NET CLR 2.0.50727;.NET CLR 3.0.04131.06)。
否則,會顯示以下消息:
此計算機沒有正確版本的 .NET Framework。
單擊此處立即獲得 .NET Framework 3.0。
此計算機的 userAgent 字符串為:Mozilla/4.0(可兼容;MSIE 6.0;
Windows NT 5.1;SV1;.NET CLR 1.1.4322;InfoPath.1;.NET CLR 2.0.50727)。
文章來源于領測軟件測試網 http://www.kjueaiud.com/