Um sistema de ficheiros sensível a maiúsculas e minúsculas torna-se não sensível a maiúsculas e minúsculas depois de instalar uma actualização para o .NET Framework 2.0

Sumário
Depois de instalar uma actualização do Microsoft .NET Framework 2.0, um sistema de ficheiros perde a sensibilidade a maiúsculas e minúsculas.
Sintomas
Considere o seguinte cenário. Activa a sensibilidade a maiúsculas e minúsculas num sistema de ficheiros Microsoft Windows para interoperabilidade Windows/UNIX. Instala uma actualização para o Microsoft .NET Framework 2.0 e, em seguida, reinicia o computador. Neste cenário, o sistema de ficheiros deixa de ser sensível a maiúsculas e minúsculas. Uma vez que o sistema de ficheiros já não é sensível a maiúsculas e minúsculas, poderá receber mensagens de erro em aplicações que dependem desta sensibilidade. Além disso, isto pode provocar perda de dados porque são acidentalmente substituídos ficheiros pela falta de sensibilidade a maiúsculas e minúsculas.
Causa
Este problema ocorre devido a um problema no programa de configuração original do .NET Framework 2.0 que define o valor da chave de registo
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\dword:ObCaseInsensitive
como 1. A chave de registo
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\dword:ObCaseInsensitive
determina se um sistema de ficheiros é sensível a maiúsculas e minúsculas ou não. Se o valor desta chave for definido como 1, o sistema de ficheiros é tratado como não sensível a maiúsculas e minúsculas. Se o valor desta chave for definido como 0, o sistema de ficheiros é tratado como sensível a maiúsculas e minúsculas.

Devido ao funcionamento da actualização do Windows Installer, cada actualização executa novamente as alterações de registo do programa de configuração original do .NET Framework 2.0. Por este motivo, o valor da chave de registo é definido como 0, de forma semelhante à do programa de configuração do .NET Framework. Este comportamento poderá, então, substituir um valor configurado pelo utilizador para esta chave. Por exemplo, se definir o valor desta chave de registo como 0 para um sistema de ficheiros sensível a maiúsculas e minúsculas e instalar uma actualização para o .NET Framework 2.0 disponibilizada antes de 27 de Novembro de 2006, o valor desta chave de registo será definido como 1 após a instalação da actualização. O resultado é um sistema de ficheiros não sensível a maiúsculas e minúsculas.

Nota: este problema não ocorre em actualizações para o .NET Framework 2.0 disponibilizadas após 27 de Novembro de 2006.
Como contornar
Se definir intencionalmente o valor da chave de registo
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\dword:ObCaseInsensitive
como 0 por necessitar de um sistema de ficheiros sensível a maiúsculas e minúsculas e uma actualização para o .NET Framework 2.0 definir este valor como 1, defina o valor da chave de registo novamente como 0 manualmente. Reinicie o sistema para que as alterações entrem em vigor. Por exemplo, se tiver um servidor NFS num ambiente heterogéneo e a chave de registo estiver definida como 1, pode definir o valor novamente como 0 manualmente.

Nota: se reinstalar o .NET Framework 2.0, ou reparar ou reinstalar quaisquer actualizações do .NET Framework 2.0 que tenham sido disponibilizadas antes de 27 de Novembro de 2006, terá de aplicar a forma de contornar manual novamente.
kbsecurity kbprb case insensitive insensitivity .NET Framework 2.0
Propriedades

ID do Artigo: 929110 - Última Revisão: 12/03/2007 07:50:20 - Revisão: 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
Comentários