Systém souborů, který rozlišoval malá a velká písmena, po instalaci aktualizace pro rozhraní .NET Framework 2.0 přestane rozlišovat malá a velká písmena

Souhrn
Po instalaci aktualizace pro rozhraní Microsoft .NET 2.0 Framework přestane systém souborů rozlišovat malá a velká písmena, když před aktualizací velká a malá písmena rozlišována byla.
Příznaky
Předpokládejme následující situaci. V systému souborů systému Microsoft Windows povolíte rozlišování malých a velkých písmen v zájmu zajištění funkční provázanosti systémů Windows a UNIX. Nainstalujete aktualizaci pro rozhraní Microsoft .NET Framework 2.0 a poté restartujete počítač. V této situaci systém nyní přestane rozlišovat malá a velká písmena. Z důvodu nerozlišování malých a velkých písmen je možné, že se budou zobrazovat chybové zprávy v aplikacích, které jsou závislé na rozlišování malých a velkých písmen. Tento stav může také vést ke ztrátě dat z důvodu náhodného přepsání souborů, které je způsobeno neočekávaným nerozlišováním malých a velkých písmen.
Příčina
K tomuto problému dochází z důvodu chyby v původním instalačním programu rozhraní .NET Framework 2.0, díky které je nastaven klíč registru
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
na hodnotu 1. Klíč registru
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
určuje, zda systém souborů rozlišuje nebo nerozlišuje malá a velká písmena. Je-li nastavena hodnota 1, systém souborů se chová tak, že nerozlišuje malá a velká písmena. Je-li nastavena hodnota 0, systém souborů se chová tak, že rozlišuje malá a velká písmena.

Kvůli způsobu, jakým funguje aktualizace Instalační služby systému Windows, jsou při každé aktualizaci znovu spuštěny změny registru obsažené v původním instalačním programu rozhraní .NET Framework 2.0. Z tohoto důvodu je nastavena hodnota daného klíče registru na 1, podobně jako v instalačním programu rozhraní .NET Framework. Díky tomuto chování může tedy dojít k přepsání hodnoty tohoto klíče, která byla nakonfigurována uživatelem. Pokud například nastavíte hodnotu tohoto klíče registru na 0 (systém souborů rozlišující malá a velká písmena) a nainstalujete aktualizaci pro rozhraní .NET Framework 2.0 vydanou před 27. listopadem 2006, bude hodnota tohoto klíče registru po instalaci aktualizace nastavena na 1. Výsledkem je systém souborů, který nerozlišuje malá a velká písmena.

Poznámka: K tomuto problému nedochází u aktualizací pro rozhraní .NET Framework 2.0 vydaných po 27. listopadu 2006.
Jak potíže obejít
Pokud záměrně nastavíte hodnotu klíče registru
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
na 0 z důvodu, že nutně potřebujete systém souborů rozlišující malá a velká písmena, a aktualizace pro rozhraní .NET Framework 2.0 nastavila tuto hodnotu zpátky na 1, nastavte hodnotu tohoto klíče registru ručně zpět na 0. Změny se projeví až po restartování systému. Pokud je server například serverem systému NFS v heterogenním prostředí a hodnota klíče registru je nastavena na 1, můžete tuto hodnotu ručně změnit zpět na 0.

Poznámka: Pokud přeinstalujete rozhraní .NET Framework 2.0 nebo opravíte či přeinstalujete jakékoli aktualizace pro rozhraní .NET Framework 2.0 vydané před 27. listopadem 2006, bude nutné znovu použít ruční řešení.
kbsecurity kbprb case insensitive insensitivity .NET Framework 2.0
Eigenschaften

Artikelnummer: 929110 – Letzte Überarbeitung: 12/03/2007 05:35:01 – Revision: 1.6

Microsoft .NET Framework 2.0, Microsoft .NET Framework 2.0 x64 Edition, Microsoft .NET Framework 2.0 IA64 Edition

  • kbtshoot kbsecurity kbprb KB929110
Feedback