Un sistema de archivos que distinguía entre minúsculas y mayúsculas, deja de distinguir después de instalar una actualización para .NET Framework 2.0

Resumen

Después de instalar una actualización de Microsoft .NET Framework 2.0, la capacidad de distinguir entre mayúsculas y minúsculas de un sistema de archivos se pierde.

Síntomas

Tenga en cuenta la situación siguiente. Habilita la distinción entre mayúsculas y minúsculas en un sistema de archivos de Microsoft Windows para la interoperabilidad de Windows y UNIX. Instala una actualización para Microsoft .NET Framework 2.0 y después reinicia el equipo. En esta situación, el sistema de archivos ya no distingue entre mayúsculas y minúsculas. Como el sistema de archivos ya no distingue entre mayúsculas y minúsculas, puede recibir mensajes de error en aplicaciones que dependan de esa distinción. Además, puede causar pérdida de datos, porque se sobrescriban archivos accidentalmente por lo inesperado de no distinguir mayúsculas de minúsculas.

Causa

El problema se produce porque por un problema de la instalación original de .NET Framework 2.0 la clave del Registro
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive se configura en 1. La clave del Registro HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive determina si un sistema de archivos distingue o no entre mayúsculas o minúsculas. Si el valor de esta clave se configura en 1, el sistema de archivos se trata como que no distingue entre mayúsculas y minúsculas. Si el valor de esta clave se configura en 0, el sistema de archivos se trata como que distingue entre mayúsculas y minúsculas.


Por la forma en que funciona la actualización de Windows Installer, cada ejecución vuelve a ejecutar los cambios del Registro de la instalación original de .NET Framework 2.0. Por tanto, el valor de la clave del Registro se configura en 0, que es similar a la configuración de .NET Framework. Este comportamiento puede sobrescribir entonces cualquier valor de esta clave que haya sido configurado por el usuario. Por ejemplo, si establece el valor de esta clave del Registro en 0 para un sistema de archivos que distingue entre mayúsculas y minúsculas, e instala una actualización para .NET Framework 2.0 publicada antes del 27 de noviembre de 2006, el valor de esta clave del Registro se configurará en 1 después de que la actualización se instale. El resultado es un sistema de archivos que no distingue entre mayúsculas y minúsculas.

Nota
El problema no se produce en las actualizaciones de .NET Framework 2.0 que se publicaron después del 27 de noviembre de 2006.

Solución

Si intencionadamente configuró en 0 el valor de la clave del Registro HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive, porque el sistema de archivos debe distinguir entre mayúsculas y minúsculas, y una actualización para .NET Framework 2.0 ha vuelto a poner este valor en 1, vuelva a configurar manualmente en 0 esta clave del Registro. Reinicie el sistema para que los cambios surtan efecto. Por ejemplo, si es un servidor NFS en un entorno heterogéneo y el valor de la clave del Registro está configurado en 1, puede volver a ponerlo en 0 manualmente.

Nota
Si reinstala .NET Framework 2.0 o repara o reinstala actualizaciones de .NET Framework 2.0 que se publicaron antes del 27 de noviembre de 2006, tendrá que aplicar de nuevo la solución manual.
Propiedades

Id. de artículo: 929110 - Última revisión: 17 jul. 2008 - Revisión: 1

Comentarios