Windows Server 2003 x64 版本與 Windows XP Professional x64 Edition 中的登錄變更

文章翻譯 文章翻譯
文章編號: 896459 - 檢視此文章適用的產品。


重要 本文包含有關修改登錄的相關資訊。修改登錄之前,請務必做好備份工作,並瞭解如何在發生問題時還原登錄。如需有關如何備份、還原和修改登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
256986 Microsoft Windows 登錄說明
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您對 Microsoft Windows Server 2003 的 x64 版本與 Microsoft Windows XP Professional x64 Edition 所做的一些登錄變更,以及 Windows x64 Edition 作業系統如何儲存 32 位元與 64 位元程式的登錄資訊。

其他相關資訊

警告 如果您使用「登錄編輯程式」或其他方法不當地修改登錄,可能會發生嚴重問題。您可能需要重新安裝作業系統,才能解決這些問題。Microsoft 不保證可以解決這些問題。請自行承擔修改登錄的一切風險。

執行 Microsoft Windows Server 2003 的 x64 版本或 Microsoft Windows XP Professional x64 Edition 的電腦使用不同的登錄配置來處理 32 位元與 64 位元程式。在 Windows 作業系統的 x64 Edition 版本中所做的登錄變更,能夠確定程式硬式編碼 .dll 路徑、程式設定及其他參數值不會遭到覆寫。

為了防止 32 位元登錄設定遭到 64 位元登錄設定覆寫,執行 Windows x64 版本的電腦會將 32 位元程式的設定儲存在登錄的新分支中。在安裝程式時,使用者不會注意到任何變更。這種登錄重新導向程序,可讓程式安裝及程式組態設定存取正確的子機碼,而不需要使用者的介入。

在 Windows x64 版本上執行的 32 位元與 64 位元程式,會在不同的模式下執行,並使用登錄中的下列區段:
  • 原生模式 64 位元程式會在原生模式下執行,並存取儲存在下列登錄子機碼中的機碼與值:
    HKEY_LOCAL_MACHINE\Software
  • 32 位元程式會在 WOW64 模式下執行,並存取儲存在下列登錄子機碼中的機碼與值:
    HKEY_LOCAL_MACHINE\Software\WOW6432node

登錄重新導向

為了支援 32 位元與 64 位元的 COM 登錄及程式狀態的共存,WOW64 子系統會使用另一個登錄檢視來呈現 32 位元程式。WOW64 子系統會使用登錄重新導向,在位元的層級攔截登錄呼叫。登錄重新導向也可以確認將登錄呼叫導向到登錄的正確分支。

當您在 Windows x64 Edition 電腦安裝新的程式或執行程式時,64 位元程式所進行的登錄呼叫便會存取
HKEY_LOCAL_MACHINE\Software
登錄子機碼,而不需要重新導向。WOW64 會攔截 32 位元程式對
HKEY_LOCAL_MACHINE\Software
發出的登錄呼叫,然後將這些呼叫重新導向到
HKEY_LOCAL_MACHINE\Software\WOW6432node
子機碼。藉由只重新導向 32 位元程式呼叫,WOW64 能確保程式總是會寫入適當的登錄子機碼中。登錄重新導向並不需要修改程式碼,而且使用者也不會察覺這項程序。

包含在重新導向中的登錄子機碼

下列登錄子機碼會在 Windows x64 Edition 作業系統的目前版本中經過重新導向:
  • HKEY_LOCAL_MACHINE\Software\Classes
  • HKEY_LOCAL_MACHINE\Software\Ole
  • HKEY_LOCAL_MACHINE\Software\Rpc
  • HKEY_LOCAL_MACHINE\Software\COM3
  • HKEY_LOCAL_MACHINE\Software\EventSystem
重要 登錄機碼重新導向程序可能會在以後的作業系統版本中有所變更。軟體開發人員都該避免根據先前記載的重新導向機碼清單來撰寫程式碼,而是在撰寫程式碼時,讓它在呼叫 32 位元或 64 位元的登錄邏輯檢視之前,先確認重新導向的狀態。

登錄反映

登錄反映能提供即時的方法,讓登錄的 32 位元與 64 位元區段能夠一直開啟。例如,有一名為 Hello.exe 的 32 位元程式,該程式擔任 32 位元的 OLE 伺服器,不過也可以針對 64 位元用戶端的要求提供服務。登錄反映使得 Hello.exe 程式能讓 32 位元登錄與 64 位元登錄開啟,以便處理 32 位元與 64 位元兩者的程式呼叫。

反映使相同的登錄能有兩個實體複本存在,進而同時支援原生與 WOW64 作業。多數反映的機碼都是類別機碼。類別機碼會根據「最後寫入者取得優先」的原理寫入,而且只要寫入並關閉 32 位元或 64 位元的類別機碼,也會關閉機碼的處理常式。

下列清單含有「最後寫入者取得優先」原理的一些範例:
  • 當您執行 Windows x64 Edition 作業系統的全新安裝後,系統便會登錄 64 位元版本的 Wordpad.exe 以處理 .doc 檔案。登錄反映程式會將 .doc 登錄從 64 位元的登錄區段複製到 32 位元的登錄區段。
  • 當您安裝 Microsoft Office 的 32 位元版本時,Winword.exe 便會登錄以便在 32 位元登錄檢視中處理 .doc 檔案。登錄反映程式會將這項資訊複製到 64 位元登錄區段中。因此,32 位元與 64 位元程式都會針對 .doc 檔案啟動 32 位元的 Winword.exe 版本。
  • 當您安裝 Microsoft Office 的 64 位元版本時,便會在 64 位元登錄區段中登錄 64 位元版本的 Winword.exe 以處理 .doc 檔案。登錄反映程式也會將這項資訊複製到 32 位元登錄區段,以便讓 32 位元與 64 位元程式都能針對 .doc 檔案啟動 64 位元版本的 Winword.exe。
注意 開發人員可以使用 RegQueryReflectionKey 函式來決定特定機碼的反映狀態,並使用 RegDisableReflectionKey 函式及 RegEnableReflectionKey 函式,以程式設計方式停用和啟用特定機碼的登錄反映。

共用登錄機碼

某些登錄子機碼雖然出現在 32 位元與 64 位元的兩種登錄檢視中,卻含有只存在於一個登錄複本中的常數資訊,這就是登錄反映。

在 Windows x64 Edition 作業系統的目前版本中,32 位元與 64 位元程式會共用下列登錄子機碼,並會根據程式或處理序的 32 位元或 64 位元層級避免重新寫入。
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SYSTEMCERTIFICATES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CRYPTOGRAPHY\SERVICES
  • HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\HCP
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\ENTERPRISECERTIFICATES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSMQ
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\NETWORKCARDS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PROFILELIST
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PERFLIB
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PRINT
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PORTS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\CONTROL PANEL\CURSORS\SCHEMES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\TELEPHONY\LOCATIONS
  • HKEY_LOCAL_MACHINE\SOFTWARE\POLICIES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\GROUP POLICY
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP\OC MANAGER
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SOFTWARE\MICROSOFT\SHARED TOOLS\MSINFO
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CTF\TIP
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CTF\SYSTEMSHARED
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTSUBSTITUTES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTDPI
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTMAPPER
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\RAS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DRIVER SIGNING
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\NON-DRIVER SIGNING
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CRYPTOGRAPHY\CALAIS\CURRENT
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CRYPTOGRAPHY\CALAIS\READERS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\TIME ZONE
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\TRANSACTION SERVER
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DFS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\TERMSERVLICENSING
重要 登錄機碼反映可能會在以後的作業系統版本中有所變更。軟體開發人員都該避免根據先前記載的反映機碼清單來撰寫程式碼,而是在撰寫程式碼,讓程式在呼叫 32 位元或 64 位元的登錄邏輯檢視之前,先確認反映的狀態。

登錄編輯程式變更

在 x64 Edition 作業系統中包含有 32 位元與 64 位元版本的登錄編輯程式。如果要更加瞭解 Windows x64 Edition 電腦上的 64 位元與 32 位元程式登錄區段,請使用下列其中一種方法。

如果要啟動 64 位元版本的登錄編輯程式

  1. 使用具有系統管理員權限的帳戶登入 Windows x64 Edition 電腦。
  2. 按一下 [開始],再按一下 [執行],在 [開啟] 方塊中輸入 regedit,然後按一下 [確定]
  3. 在 [登錄編輯程式] 中,找出下列登錄子機碼:
    HKEY_LOCAL_MACHINE\Software\WOW6432node

如果要啟動 32 位元版本的登錄編輯程式

依序按一下 [開始][執行],在 [開啟] 方塊中輸入 drive letter where you installed Windows x64 Edition\Windows\syswow64\regedit.exe –m,然後按一下 [確定]–m 參數讓您能執行多個登錄編輯程式。

注意 當您登入 Microsoft Windows Server 2003 Service Pack 1 (SP1) 或更新版作業系統的電腦,或是 Windows x64 Edition 電腦,並使用遠端桌面通訊協定 (RDP) 連線到另一部 Windows Server 2003 SP1 或更新版作業系統的電腦,或是 Windows x64 Edition 電腦時,即可在遠端電腦上檢視登錄的 64 位元區段。不過,當您登入尚未更新到 SP1 版本的 Microsoft Windows Server 2003 電腦,或其他任何 32 位元的 Windows 作業系統電腦時,就只能在遠端電腦上檢視登錄的 32 位元區段。

Microsoft Windows x64 版的技術支援

您的硬體廠商可以提供有關 Windows x64 版的技術支援和協助。由於 Windows x64 版是隨附在硬體中,所以硬體廠商會提供相關的支援。硬體廠商可能已經自訂 Windows 的安裝程序,並在其中加入了特殊的元件。這些特殊元件可能包括特定的裝置驅動程式,或者含有能夠使硬體發揮最大效能的選擇性設定。如果您需要有關 Windows x64 版的技術協助,Microsoft 將會在合理的情況下予以提供。不過,您可能必須直接連絡硬體廠商。因為硬體製造商已在硬體上預先安裝軟體,所以他們會是提供軟體技術支援服務的最佳人選。

如需有關 Microsoft Windows XP Professional x64 Edition 的產品資訊,請造訪下列 Microsoft 網站:
http://www.microsoft.com/taiwan/windowsxp/64bit/default.mspx
如需有關 Microsoft Windows Server 2003 x64 版的產品資訊,請造訪下列 Microsoft 網站:
http://www.microsoft.com/taiwan/windowsserver2003/64bit/x64/default.mspx

屬性

文章編號: 896459 - 上次校閱: 2006年5月19日 - 版次: 3.1
這篇文章中的資訊適用於:
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows XP Professional x64 Edition
關鍵字:?
kbinfo kbtshoot KB896459
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com