安裝 .NET Framework 2.0 的更新之後,原本區分大小寫的檔案系統變成不區分大小寫

文章翻譯 文章翻譯
文章編號: 929110 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

當您安裝 .NET Framework 2.0 更新之後,檔案系統從區分大小寫變成不區分大小寫。

徵狀

試想下列案例。基於 Windows/UNIX 交互操作性的考量,您在 Microsoft Windows 檔案系統上啟用區分大小寫功能。接著,您安裝了 Microsoft .NET Framework 2.0 的更新並重新啟動電腦。在這個案例中,檔案系統不再區分大小寫。因為檔案系統不再區分大小寫,所以您可能會在需要區分大小寫的應用程式中收到錯誤訊息。此外,這可能會導致資料遺失,因為檔案意外地因非預期不區分大小寫而遭到覆寫。

發生的原因

之所以發生這個問題,是因為原始 .NET Framework 2.0 安裝程式出現問題而將
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
登錄機碼的值設定為 1。
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
登錄機碼決定檔案系統是否區分大小寫。如果這個機碼的值設為 1,則檔案系統會被視為不區分大小寫;如果這個機碼的值設為 0,則檔案系統會被視為區分大小寫。

由於 Windows Installer 更新的執行方式,每個更新都會重新執行原始 .NET Framework 2.0 安裝程式中的登錄變更。因此,就像 .NET Framework 安裝程式,這個登錄機碼的值會設定為 0。然後,此行為會覆寫使用者為這個機碼設定的任何值。例如,如果您將這個登錄機碼的值設為 0 (檔案系統區分大小寫),並且安裝 2006 年 11 月 27 日以前發行的 .NET Framework 2.0 更新,則在更新安裝完成後,這個登錄機碼的值會設定為 1。結果,檔案系統變成不區分大小寫。

注意 2006 年 11 月 27 日以後發行的 .NET Framework 2.0 更新不會發生這個問題。

其他可行方案

如果您希望檔案系統區分大小寫而將
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
登錄機碼的值設為 0,但 .NET Framework 2.0 更新已將這個值設回為 1,請手動將這個登錄機碼重設為 0。請重新啟動系統,使變更生效。例如,假設您的伺服器是異質環境中的 NFS 伺服器,並且登錄機碼值設為 1,您可以手動將值重設為 0。

注意 如果您重新安裝 .NET Framework 2.0,或者修復或重新安裝 2006 年 11 月 27 日以前發行的任何 .NET Framework 2.0 更新,則必須再次手動套用此因應措施。

屬性

文章編號: 929110 - 上次校閱: 2007年12月3日 - 版次: 1.6
這篇文章中的資訊適用於:
  • Microsoft .NET Framework 2.0?應用於:
    • Microsoft Windows 2000 Professional SP4
    • Microsoft Windows 2000 Server SP4
    • Microsoft Windows 2000 Advanced Server SP4
    • Microsoft Windows 2000 Datacenter Server
    • Microsoft Windows XP Home Edition (家用版)
    • Microsoft Windows XP Starter Edition
    • Microsoft Windows XP Media Center Edition 2005
    • Microsoft Windows XP Media Center Edition Service Pack 2 (SP2)
    • Microsoft Windows XP Tablet PC Edition Service Pack 2 (SP2)
    • Microsoft Windows XP Professional
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Small Business Server 2003 Standard Edition
    • Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
    • Microsoft Windows Server 2003 R2 Datacenter Edition (32-Bit x86)
  • Microsoft .NET Framework 2.0 x64 Edition?應用於:
    • Microsoft Windows XP Professional 64-Bit Edition (Itanium)
    • Microsoft Windows Server 2003, Standard x64 Edition
    • Microsoft Windows Server 2003, Enterprise x64 Edition
    • Microsoft Windows Server 2003, Datacenter x64 Edition
    • Microsoft Windows Server 2003 R2 Standard x64 Edition
    • Microsoft Windows Server 2003 R2 Enterprise x64 Edition
    • Microsoft Windows Server 2003 R2 Datacenter x64 Edition
  • Microsoft .NET Framework 2.0 IA64 Edition?應用於:
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
    • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
關鍵字:?
kbtshoot kbsecurity kbprb KB929110
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