Uma pasta criada na raiz da unidade do sistema tem entradas em falta no descritor de segurança, o que pode causar algumas falhas na aplicação na versão em inglês do Windows 7 Release Candidate 32-bit Ultimate

Sintomas

Na versão em inglês do Windows 7 Release Candidate (compilação 7100) Ultimate de 32 bits, a pasta criada como a pasta raiz da unidade de sistema (%SystemDrive%) tem entradas em falta no descritor de segurança. Um dos efeitos deste problema é que os utilizadores padrão, como os não administradores, não podem realizar todas as operações em subpastas criadas diretamente na raiz. Por conseguinte, as aplicações que referenciam pastas na raiz podem não ser instaladas com êxito ou podem não ser desinstaladas com êxito. Além disso, as operações ou aplicações que referenciam estas pastas podem falhar.

Por exemplo, se for criada uma pasta na raiz da unidade do sistema a partir de uma linha de comandos elevada, esta pasta não herdará corretamente as permissões da raiz da unidade. Por conseguinte, algumas operações específicas, como eliminar a pasta, irão falhar quando forem executadas a partir de uma linha de comandos não elevada. Além disso, é apresentada a seguinte mensagem de erro quando a operação falha:

Nota

O acesso é negado.

Além disso, as entradas de descritor de segurança em falta protegem as operações de ficheiros não administradores diretamente na raiz.

Causa

Este problema ocorre porque a versão em inglês do Windows 7 Release Candidate de 32 bits Ultimate define incorretamente as listas de controlo de acesso (ACLs) na raiz.

Resolução

Para os clientes afetados por este problema, a correção está disponível através de Windows Update:

http://update.microsoft.com/windowsupdate

Informações de correção

Está disponível uma correção suportada da Microsoft. No entanto, esta correção destina-se a corrigir apenas o problema descrito neste artigo. Aplique esta correção apenas a sistemas com este problema específico.

Pré-requisitos

Tem de ter o Windows 7 Release Candidate 32 bits Ultimate instalado para aplicar esta correção.

Requisito de reinício

Não tem de reiniciar o computador depois de aplicar esta correção.

Informações de substituição de correções

Esta correção não substitui uma correção disponibilizada anteriormente.

Informações de ficheiro

A versão em inglês desta correção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) que estão listados na tabela seguinte. As datas e horas destes ficheiros estão listadas na Hora Universal Coordenada (UTC). Quando vê as informações do ficheiro, estas são convertidas para a hora local. Para encontrar a diferença entre a hora UTC e a hora local, utilize o separador Fuso Horário no item Data e Hora no Painel de Controlo.

Nome de ficheiro Versão do ficheiro Tamanho do ficheiro Data Hora Plataforma
Cleanwin7rcroot.exe 6.1.7100.15 15,944 04-Maio-2009 06:33 x86

A correção é libertada através de Windows Update.

O pacote de correções

  • O problema só existe em versões x86 do Windows 7 Release Candidate Ultimate. Só foi criada uma versão x86 da correção. Esta correção só será instalada no Windows 7 Release Candidate (compilação 7100) Ultimate de 32 bits. Para evitar complicações adicionais, a correção será instalada nas cinco versões de idioma do programa.
  • Se instalar com êxito a correção no seu computador, será apresentada uma atualização que referencia este número da Base de Dados de Conhecimento Microsoft (970789) em Adicionar ou Remover Programas. Pode rever a lista de atualizações em Adicionar ou Remover Programas para confirmar que a instalação da correção foi efetuada com êxito.
  • Pode desinstalar esta correção e, em seguida, reinstalá-la. Se desinstalar a correção, as ACLs não voltarão ao estado anterior. Ou seja, a alteração que esta correção faz às ACLs não é invertida quando desinstala a correção.

A ferramenta CleanWin7RCRoot.exe

  • A ferramenta CleanWin7RCRoot.exe examina o descritor de segurança completo na raiz da unidade do sistema que tem o descritor de segurança "conhecido como incorreto". A ferramenta substitui um descritor de segurança incorreto por um correto. Após a substituição do descritor de segurança, as pastas criadas na pasta raiz da unidade do sistema herdam as ACLs corretas e as aplicações são instaladas com êxito.
  • A correção não repara as aplicações que já estão instaladas.
  • Se tiver alterado o descritor de segurança de raiz, a ferramenta CleanWin7RCRoot.exe não efetua alterações à ACL. Isto impede potenciais problemas de compatibilidade de aplicações.

Nota Não é possível aplicar esta correção offline. Para obter informações sobre como aplicar esta alteração a imagens offline, consulte a secção "Instruções offline" mais à frente neste documento.

Solução

Este problema afeta apenas as imagens baseadas no Windows 7 Release Candidate (compilação 7100) Ultimate de 32 bits. Para garantir que esta atualização não afeta a sua experiência de utilizador, recomendamos que realize as seguintes ações:

  1. Faça uma cópia de segurança do seu sistema atual.
  2. Comece a partir do DVD.
  3. Formate a partição onde pretende instalar o Windows 7.
  4. Depois de concluída a instalação do Windows 7, instale esta atualização a partir de Windows Update antes de restaurar quaisquer cópias de segurança ou instalar qualquer outro software.

Se já tiver instalado o sistema operativo sem formatar a unidade, certifique-se de que as definições estão corretas. Para tal, execute o seguinte comando a partir de uma linha de comandos elevada:

Cd \

Icacls \
 Quando executar o comando, deverá ser apresentado o seguinte texto:

\ BUILTIN\Administrators:(F)
  BUILTIN\Administrators:(OI)(CI)(IO)(F)
  NT AUTHORITY\SYSTEM:(F)
  NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
  BUILTIN\Users:(OI)(CI)(RX)
  NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(M)
  NT AUTHORITY\Authenticated Users:(AD)
  Mandatory Label\High Mandatory Level:(OI)(NP)(IO)(NW)

Se o texto apresentado for diferente deste texto e não tiver efetuado anteriormente quaisquer outras alterações esperadas, tem de instalar a correção.

Se quiser aplicar manualmente uma correção que replique a funcionalidade da correção, execute o seguinte comando a partir de uma linha de comandos elevada:

Cd \

cacls \ /S:D:PAI(A;; FA;;; BA)(A; OICIIO;GA;;; BA)(A;; FA;;; SY)(A; OICIIO;GA;;; SY)(A; OICI; 0x1200a9;;; BU)(A; OICIIO; SDGXGWGR;;; AU)(A;; LC;;; AU)

icacls \ /setintegritylevel (OI)(NP)(IO)H
Se já tiver aplicado a correção descrita neste artigo, mas tiver diretórios ou pastas existentes criados a partir da pasta raiz da unidade do sistema e quiser aplicar a correção a esses diretórios, execute o seguinte comando a partir de uma linha de comandos elevada:

Cd \

Diretório CD <ao qual pretende aplicar alterações>

diretório cacls <que pretende aplicar alterações ao> /S:D:AINote Não aplique o comando icacls aos subdiretórios fora da raiz.

Este problema afeta apenas as imagens baseadas no Windows 7 Release Candidate (compilação 7100) Ultimate de 32 bits.

Instruções offline

As instruções seguintes aplicam-se ao técnico que modifica imagens offline antes da implementação e antes de instalar aplicações na imagem.

Monte ou aplique a imagem de destino e, em seguida, execute o seguinte comando a partir de uma linha de comandos elevada:

cacls <caminho para o dir raiz no wim> montado /S:D:PAI(A;; FA;;; BA)(A; OICIIO;GA;;; BA)(A;; FA;;; SY)(A; OICIIO;GA;;; SY)(A; OICI; 0x1200a9;;; BU)(A; OICIIO; SDGXGWGR;;; AU)(A;; LC;;; AU)

icacls <path to root drive on mounted wim> /setintegritylevel (OI)(NP)(IO)H
 Se tiver de aplicar definições a quaisquer pastas criadas pelo utilizador fora da raiz no ficheiro de imagem WIM, monte ou aplique a imagem de destino e, em seguida, execute o seguinte comando a partir de uma linha de comandos elevada:

Caminho do CD <para o diretório no WIM ao qual pretende aplicar alterações>

cacls <path to directory in the WIM that you want to apply changes to/S:D:AINote Do not apply the icacls command to subdirectories off the root.

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Mais Informações

Esta correção tem dois elementos distintos, o CleanWin7RCRoot.exe detalhes e os detalhes do pacote.

Os detalhes do CleanWin7RCRoot.exe

Esta é uma correção no âmbito que tenta resolver o problema, tenta evitar futuros problemas de compatibilidade de aplicações e tenta não assumir riscos adicionais ao tentar intercalar as definições modificadas pelo utilizador. A correção resolve o problema ao impedir que um utilizador ou convidado padrão crie ficheiros na raiz do sistema. Para qualquer computador que tenha o problema, a DACL resultante na raiz do sistema é a mesma que está incluída nos SKUs corretos.

A correção

  • O ficheiro executável verifica o descritor de segurança completo na raiz da unidade do sistema que tem o descritor de segurança "conhecido como incorreto".
  • Se a ferramenta CleanWin7RCRoot.exe determinar que o descritor de segurança está incorreto, substitui o descritor de segurança pelo correto.
    SDDL correto: D:PAI(A;; FA;;; BA)(A; OICIIO;GA;;; BA)(A;; FA;;; SY)(A; OICIIO;GA;;; SY)(A; OICI; 0x1200a9;;; BU)(A; OICIIO; SDGXGWGR;;; AU)(A;; LC;;; AU)S:P(ML;OINPIO; NW;;; OLÁ)
  • A ferramenta substitui um descritor de segurança incorreto por um correto. Após a substituição do descritor de segurança, as pastas que são criadas na pasta raiz da unidade do sistema herdam as ACLs corretas e as instalações da aplicação são bem-sucedidas.

Problemas que a correção não resolve

Existem dois problemas principais que a correção não resolve:

  • A correção altera a DACL predefinida na raiz do sistema para que seja igual à que se encontra num computador baseado no Windows 7 RTM ou num computador baseado em Candidatos à Versão do Windows 7. No entanto, esta correção não propaga as alterações aos subdiretórios.
  • A correção não tenta corrigir quaisquer descritores de segurança de raiz que tenham sido modificados pelo utilizador final.

Desinstalar

O ficheiro executável não suporta a desinstalação. As alterações efetuadas pela correção são permanentes. Mesmo que o pacote seja desinstalado, as alterações que CleanWin7RCRoot.exe efetuar não são revertidas.

Casos de erro

Os casos de erro da ferramenta são erros apenas quando o ficheiro executável identifica o problema, mas não consegue corrigir o problema. Se o ficheiro executável determinar que não consegue corrigir o problema porque a ACL não é a esperada, mesmo que ainda esteja errada, a ferramenta devolverá êxito.

Referências

Para obter mais informações sobre ACLs e descritores de segurança, visite os seguintes Web sites do Microsoft MSDN:

http://msdn.microsoft.com/en-us/library/aa374872(VS.85).aspx

http://msdn.microsoft.com/en-us/library/bb648648(VS.85).aspx Para obter mais informações sobre a terminologia da atualização de software, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft:

824684 Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft