A .NET-keretrendszer 2.0-s verziójához kiadott frissítés telepítését követően a kis- és nagybetűket eredetileg megkülönböztető fájlrendszerekben megszűnik ez a megkülönböztetés

Összefoglaló

Miután frissítést telepít a Microsoft .NET-keretrendszer 2.0-s verziójához, azt tapasztalhatja, hogy a kis- és nagybetűket eredetileg megkülönböztető fájlrendszerben megszűnik ez a megkülönböztetés.

A jelenség

A probléma a következőkben leírthoz hasonló helyzeteket szülheti. A felhasználó bekapcsolja a kis- és nagybetűk megkülönböztetését egy Microsoft Windows fájlrendszerben annak érdekében, hogy a Windows rendszer együttműködhessen UNIX rendszerekkel. Ezután telepít egy frissítést a Microsoft .NET-keretrendszer 2.0 összetevőhöz, majd újraindítja a számítógépet. Ekkor a fájlrendszer már nem különbözteti meg a kis- és nagybetűket. Emiatt a továbbiakban azok az alkalmazások, amelyek számára fontos a kis- és nagybetűk megkülönböztetése, hibaüzeneteket adhatnak. A változás ezenkívül adatvesztést is okozhat, mivel a megkülönböztetés megszűnésével bizonyos fájlok váratlanul felülíródhatnak.

Oka

A probléma oka az, hogy a 2.0-s .NET-keretrendszer eredeti telepítőprogramjának egy hibája 1-esre állítja a HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive beállításkulcs értékét. A HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive beállításkulcs határozza meg azt, hogy a fájlrendszer különbséget tesz-e kis- és nagybetűk között. 1-es érték esetén a fájlrendszer nem különbözteti meg a kis- és nagybetűket, 0 érték mellett pedig megkülönbözteti.


A Windows Installer működésének sajátosságaiból adódóan minden újabb frissítés alkalmával ismét megtörténik a 2.0-s .NET-keretrendszer eredeti telepítőprogramjában megadott beállításkulcs-módosítás. Azaz a beállításkulcs az 1 értéket kapja, mint ahogyan a .NET-keretrendszer telepítése esetén. A működési problémának köszönhetően ekkor felülíródhat a felhasználó által megadott beállításkulcs-érték is. Például ha a felhasználó 0-ra állítja a beállításkulcs értékét, mert kis- és nagybetűket megkülönböztető fájlrendszert szeretne, majd telepít egy olyan frissítést a 2.0-s .NET-keretrendszerhez, amely 2006. november 27. előtti kiadású, akkor a beállításkulcs értéke 1-re módosul – azaz a kis- és nagybetűk különbsége megszűnik a fájlrendszerben.



Megjegyzés: Az itt leírt probléma a 2.0-s .NET-keretrendszerhez 2006. november 27-e után kiadott frissítések esetében nem jelentkezik.

Kerülő megoldás

Ha a HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive beállításkulcs értékét szándékosan 0-ra állította, mert kis- és nagybetűket megkülönböztető fájlrendszerre van szüksége, és a 2.0-s .NET-keretrendszer frissítésével ez az érték visszaállt 1-esre, akkor állítsa manuálisan ismét 0-ra. A módosítás érvénybe léptetéséhez indítsa újra a számítógépet. Például ha a kiszolgáló egy heterogén számítógép-környezet NFS fájlrendszerű tagja, és ez a beállításkulcsa 1-es értékű, akkor manuálisan 0-ra állíthatja az értéket.

Megjegyzés: Ha újratelepíti a .NET-keretrendszer 2.0 összetevőt, illetve újratelepíti vagy kijavítja annak bármely, 2006. november 27-e előtt kiadott frissítését, ismét alkalmaznia kell a manuális kerülő megoldást.
Tulajdonságok

Cikkazonosító: 929110 - Utolsó ellenőrzés: 2008. júl. 17. - Verziószám: 1

Visszajelzés