Compartilhar via


Correções de compatibilidade para Windows 10, Windows 8, Windows 7 e Windows Vista

Você pode reparar alguns problemas de compatibilidade que ocorrem por causa de alterações feitas entre as versões do sistema operacional Windows. Esses problemas podem incluir restrições de UAC (Controle de Conta de Usuário).

Importante  

O ACT (Application Compatibility Toolkit) instala uma versão de 32 bits e de 64 bits do Administrador de Compatibilidade. Você deve usar a versão de 32 bits para trabalhar com aplicativos de 32 bits e a versão de 64 bits para trabalhar com aplicativos de 64 bits. Você receberá uma mensagem de erro se tentar usar a versão incorreta.

Se você iniciar o Administrador de Compatibilidade como Administrador (com privilégios elevados), todos os aplicativos reparados poderão ser executados com sucesso; entretanto, a virtualização e o redirecionamento poderão não ocorrer como espera-se. Para verificar se uma correção de compatibilidade resolve um problema, você deve testar o aplicativo reparado ao executá-lo com a conta de usuário de destino.

 

Correções de compatibilidade

A tabela a seguir lista as correções de compatibilidade conhecidas para todos os sistemas operacionais Windows já lançados, do Windows Vista ao Windows 10. As correções estão listadas em ordem alfabética.

Correção Descrição da correção

8And16BitAggregateBlts

Aplicativos que forem mitigados pela mitigação de 8/16 bits poderão exibir problemas de desempenho. Essa camada agrega todas as operações blt e melhora o desempenho.

8And16BitDXMaxWinMode

Aplicativos que usam DX8/9 e são mitigados pela mitigação de 8/16 bits são executados em modo de janela maximizado. Essa camada mitiga aplicativos que exibem erros gráficos no modo de tela inteira.

8And16BitGDIRedraw

Esta correção repara aplicativos que usam GDI e que trabalham no modo de cores de 8 bits. O aplicativo é forçado a redesenhar sua janela no RealizePalette.

AccelGdipFlush

Esta correção aumenta a velocidade de GdipFlush, que tem problemas de desempenho no DWM.

AoaMp4Converter

Esta correção resolve um problema de exibição para o Conversor AoA Mp4.

BIOSRead

Esse problema é indicado quando um aplicativo não pode acessar o objeto Device\PhysicalMemory além dos drivers de modo kernel em nenhum dos sistemas operacionais Windows Server® 2003.

A correção habilita arquivos executáveis OEM (.exe) a usar a função GetSystemFirmwareTable, em vez da função NtOpenSection, quando o BIOS é consultado por informações sobre memória de \\Device\Physical.

BlockRunasInteractiveUser

Este problema ocorre quando o InstallShield cria instaladores e desinstaladores que falham na conclusão e geram mensagens de erro ou avisos.

A correção bloqueia InstallShield contra a definição do valor de chaves RunAs do Registro como InteractiveUser, pois o InteractiveUser não tem mais direitos de administrador.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção BlockRunAsInteractiveUser.

 

ChangeFolderPathToXPStyle

Essa correção é necessária quando um aplicativo não pode retornar os caminhos da pasta do shell quando usa a API SHGetFolder.

A correção intercepta a solicitação de caminho do SHGetFolder para o caminho de arquivo comum do appdata e retorna o caminho de arquivo do estilo Windows® XP em vez do caminho de arquivo do estilo Windows Vista.

ClearLastErrorStatusonIntializeCriticalSection

Essa correção é indicada quando um aplicativo falha ao iniciar.

A correção modifica a chamada de função InitializeCriticalSection de forma que esta verifique o código de erro NTSTATUS e, em seguida, define o último erro para ERROR_SUCCESS.

CopyHKCUSettingsFromOtherUsers

Esse problema ocorre quando um instalador de aplicativo deve ser executado em modo elevado e depende das definições HKCU que são fornecidas a outros usuários.

A correção varre os perfis de usuário existentes e tenta copiar as chaves especificadas na área do Registro HKEY_CURRENT_USER.

É possível controlar essa correção ainda mais inserindo as chaves do Registro relevantes como parâmetros que são separados pelo símbolo ^; por exemplo: Software\MyCompany\Key1^Software\MyCompany\Key2.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção CopyHKCUSettingsFromOtherUsers

 

CorrectCreateBrushIndirectHatch

O problema é indicado por uma mensagem de erro de violação de acesso que aparece quando o aplicativo falha no momento em que você seleciona ou recorta uma imagem.

A correção repara o valor de hachura do estilo do pincel, que é passado para a função CreateBrushIndirect() e permite que a informação seja corretamente interpretada.

CorrectFilePaths

O problema é indicado quando um aplicativo tenta gravar arquivos no disco rígido e tem acesso negado ou recebe uma mensagem de erro de arquivo não encontrado ou caminho não encontrado.

A correção modifica os nomes de caminhos de arquivo para indicar uma nova localização no disco rígido.

Observação  

Para obter mais informações detalhadas sobre a correção de aplicativo CorrectFilePaths, consulte Usando a correção CorrectFilePaths É recomendável que você use essa correção juntamente com a correção CorrectFilePathsUninstall se a estiver aplicando a um arquivo de instalação de configuração.

 

CorrectFilePathsUninstall

Esse problema ocorre quando um aplicativo não instalado deixa arquivos, diretórios e links para trás.

A correção arruma os caminhos de arquivos que são usados pelo processo de desinstalação de um aplicativo.

Observação  

Para obter mais informações detalhadas sobre esta correção, consulte Usando a correção CorrectFilePathsUninstall É recomendável que você use essa correção juntamente com a correção CorrectFilePaths se a estiver aplicando a um arquivo de instalação de configuração.

 

CorrectShellExecuteHWND

Esse problema ocorre quando você inicia um executável (.exe) e um item da barra de tarefas pisca, em vez de um prompt de elevação sendo aberto, ou quando o aplicativo não fornece um valor HWND válido ao chamar a função ShellExecute(Ex).

A correção intercepta as chamadas ShellExecute(Ex) e, em seguida, inspeciona o valor HWND. Se o valor for inválido, essa correção habilita a chamada a usar o valor HWND atualmente ativo.

Observação  

Para obter mais informações detalhadas sobre a correção de aplicativo CorrectShellExecuteHWND, consulte Usando a correção CorrectShellExecuteHWND

 

CustomNCRender

Essa correção instrui o DWM a não renderizar a área de não clientes, forçando assim o aplicativo a fazer sua própria renderização NC. Isso normalmente dá um aspecto visual característico do XP ao Windows.

DelayApplyFlag

Essa correção aplica um sinalizador KERNEL, USER ou PROCESS se o DLL especificado for carregado.

Você poderá controlar essa correção ainda mais ao digitar o seguinte comando no prompt de comando:

DLL_Name;Flag_Type;Hexidecimal_Value

Onde DLL_Name for o nome do DLL especificado, incluindo a extensão de arquivo. O Flag_Type é KERNEL, USER ou PROCESS, e um Hexidecimal_Value, iniciando com 0x até o comprimento de 64 bits.

Observação  

O tipo de sinalizador PROCESS pode ter o comprimento de 32 bits somente. Você pode separar diversas entradas com uma barra invertida (\).

 

DeprecatedServiceShim

O problema é indicado quando um aplicativo tenta instalar um serviço que tenha uma dependência de um serviço preterido. Uma mensagem de erro aparece.

A correção interpreta as chamadas de função CreateService e remove o serviço de dependência preterido a partir do parâmetro lpDependencies.

Você poderá controlar essa correção ainda mais ao digitar o seguinte comando no prompt de comando:

Deprecated_Service\App_Service/Deprecated_Service2 \App_Service2

Onde Deprecated_Service é o nome do serviço que foi preterido e App_Service é o nome do serviço de aplicativo específico a ser modificado; por exemplo, NtLmSsp\WMI.

Observação  

Se você não fornecer um nome App_Service, o serviço preterido será removido de todos os serviços criados recentemente.

 
Observação  

Você pode separar diversas entradas com uma barra (/).

 

DirectXVersionLie

Esse problema ocorre quando um aplicativo falha porque não encontra o número de versão correto para o DirectX®.

A correção modifica a chamada de função DXDIAGN GetProp para retornar à versão correta do DirectX.

Você poderá controlar essa correção ainda mais ao digitar o seguinte comando no prompt de comando:

MAJORVERSION.MINORVERSION.LETTER

Por exemplo, 9.0.c.

DetectorDWM8And16Bit

Essa correção oferece mitigação para aplicativos que trabalham no modo de cores de vídeo de 8/16 bits porque esses modos de cores herdados não têm suporte no Windows 8.

Disable8And16BitD3D

Essa correção melhora o desempenho de aplicativos de cores de 8/16 bits que renderizam usando D3D e não misturam DirectDraw.

Disable8And16BitModes

Essa correção desabilita a mitigação de cores de 8/16 bits e a enumeração dos modos de cores de 8/16 bits.

DisableDWM

O problema ocorre quando alguns objetos não são desenhados ou artefatos de objetos permanecem na tela em um aplicativo.

A correção desabilita temporariamente a funcionalidade do tema de menu do Windows Aero para aplicativos sem suporte.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção DisableDWM

 

DisableFadeAnimations

O problema é indicado quando as animações de esmaecimento, botões ou outros controles de um aplicativo não funcionam corretamente.

A correção desabilita temporariamente a funcionalidade de esmaecimento de animações para aplicativos sem suporte.

DisableThemeMenus

O problema é indicado por um aplicativo que se comporta de forma imprevisível quando tenta detectar e usar as configurações corretas do Windows.

A correção desabilita temporariamente a funcionalidade do tema de menu do Windows Aero para aplicativos sem suporte.

DisableWindowsDefender

A correção desabilita o Windows Defender para aplicativos de segurança que não trabalham com o Windows Defender.

DWM8And16BitMitigation

A correção oferece mitigação para aplicativos que trabalham no modo de cores de vídeo de 8/16 bits porque esses modos de cores herdados não têm suporte no Windows 8.

DXGICompat

Essa correção permite que instruções de compatibilidade específicas ao aplicativo sejam passadas diretamente ao mecanismo DirectX.

DXMaximizedWindowedMode

Aplicativos que usam DX8/9 são executados em modo de janela maximizado. Isso é necessário para aplicativos que usam o GDI/DirectDraw além do Direct3D.

ElevateCreateProcess

O problema é indicado quando instalações, desinstalações ou atualizações falham porque o processo do host chama a função CreateProcess retornando com uma mensagem de erro ERROR_ELEVATION_REQUIRED.

A correção trata do código de erro e tenta chamar novamente a função CreateProcess junto com a elevação solicitada. Se o aplicativo corrigido já possui um manifesto UAC, o código de erro será retornado sem alterações.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção ElevateCreateProcess

 

EmulateOldPathIsUNC

O problema ocorre quando um aplicativo falha por conta de um caminho UNC incorreto.

A correção altera a função PathIsUNC para que retorne um valor True para caminhos UNC no Windows. 

EmulateGetDiskFreeSpace

O problema é indicado quando um aplicativo falha ao ser instalado ou executado, gerando uma mensagem de erro de que não há espaço livre suficiente em disco para instalar ou usar o aplicativo, mesmo que haja espaço livre suficiente em disco para adequação às exigências do aplicativo.

A correção determina a quantidade de espaço livre, de forma que, se essa quantidade for maior do que 2 GB, a correção de compatibilidade retornará um valor de 2 GB. Porém, se a quantidade de espaço livre for menor do que 2 GB, a correção de compatibilidade retornará a quantidade de espaço livre real.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção EmulateGetDiskFreeSpace

 

EmulateSorting

O problema ocorre quando um aplicativo experimenta problemas na funcionalidade de busca.

A correção força os aplicativos que usam a tabela de armazenamento CompareStringW/LCMapString para uso de uma versão mais antiga da tabela.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção EmulateSorting

 

EmulateSortingWindows61

A correção emula a ordem de classificação do Windows 7 e do Windows Server 2008 R2 para várias APIs.

EnableRestarts

O problema é indicado quando um aplicativo e um computador parecem estar travados porque os processos não podem terminar para permitir que o computador conclua seus processos de reinicialização.

A correção capacita o computador a reiniciar e concluir o processo de instalação ao verificar e habilitar a existência do privilégio de serviço SeShutdownPrivilege.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção EnableRestarts

 

ExtraAddRefDesktopFolder

O problema ocorre quando um aplicativo invoca o método Release() por vezes demais e faz um objeto ser destruído prematuramente.

A correção combate as tentativas do aplicativo de obter a pasta da área de trabalho do shell ao invocar o método AddRef() na pasta da Área de Trabalho, que é retornada pela função SHGetDesktopFolder.

FailObsoleteShellAPIs

O problema ocorre quando um aplicativo falha porque gerou chamadas de API preteridas.

A correção implementa as funções obsoletas completamente ou as implementa com stubs que falham.

Observação  

Você pode digitar FailAll=1 no prompt de comando para suprimir a implementação da função e forçar todas as funções a falharem.

 

FailRemoveDirectory

O problema ocorre quando um processo de desinstalação de aplicativo não remove todos os arquivos e pastas do aplicativo.

Essa correção falha as chamadas a RemoveDirectory() quando chamado com um caminho correspondente ao especificado na linha de comando shim.  Somente um único caminho tem suporte.  O caminho pode conter variáveis de ambiente, mas deve ser um caminho exato – nenhum caminho parcial tem suporte.

A correção pode resolver um problema quando um aplicativo espera que RemoveDirectory() exclua uma pasta imediatamente, mesmo que um identificador esteja aberto.

FakeLunaTheme

O problema ocorre quando um aplicativo de tema não é exibido de forma adequada: as cores estão desbotadas ou a interface de usuário não está detalhada.

A correção intercepta a API GetCurrentThemeName e retorna o valor do tema padrão do Windows XP, (Luna).

Observação  

Para obter mais informações detalhadas sobre a correção de aplicativo FakeLunaTheme, consulte Usando a correção FakeLunaTheme

 

FlushFile

Este problema é indicado quando um arquivo é atualizado e as alterações não aparecem imediatamente no disco rígido. Os aplicativos não conseguem identificar as alterações de arquivo.

A correção habilita a função WriteFile para chamar as APIs FlushFileBuffers, que liberam o cache de arquivo para o disco rígido.

FontMigration

A correção substitui uma fonte solicitada de aplicativo com uma seleção de fonte melhor, para evitar o truncamento do texto.

ForceAdminAccess

O problema ocorre quando um aplicativo falha em funcionar durante uma verificação do administrador explícita.

A correção permite que o usuário temporariamente finja ser parte do grupo de Administradores ao retornar um valor True durante a verificação do administrador.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção ForceAdminAccess

 

ForceInvalidateOnClose

A correção invalida qualquer janela que houver sob uma janela sendo fechada ou ocultada para os aplicativos que se baseiam nas mensagens de invalidação.

ForceLoadMirrorDrvMitigation

A correção carrega a mitigação de driver de espelhamento do Windows 8 para aplicativos em que a mitigação não é aplicada automaticamente.

FreestyleBMX

A correção resolve uma condição de corrida de aplicativo que esteja relacionada à ordem de mensagem da janela.

GetDriveTypeWHook

O aplicativo apresenta comportamento incomum durante a instalação; por exemplo, os estados do programa de instalação que este não pode instalar em um local especificado pelo usuário.

A correção altera o GetDriveType() de forma que somente a informação de raiz apareça no caminho do arquivo. Isso é necessário quando um aplicativo passa um caminho de arquivo incompleto ou malformado quando tenta recuperar o tipo de unidade no qual o caminho de arquivo existe.

GlobalMemoryStatusLie

O problema é indicado por uma mensagem de Memória de computador cheia que é exibida quando você inicia um aplicativo.

A correção modifica a estrutura do status da memória, de forma que relate um arquivo de permuta que tenha 400 MB, independentemente do tamanho real do arquivo de permuta.

HandleBadPtr

O problema é indicado por uma mensagem de erro de violação de acesso que aparece porque uma API está realizando uma validação de ponteiro antes de utilizar um parâmetro.

A correção suporta o uso da validação lpBuffer a partir das funções InternetSetOptionA e InternetSetOptionW para realizar a validação de parâmetro adicional.

HandleMarkedContentNotIndexed

O problema é indicado por um aplicativo que falha quando está alterando um atributo em um arquivo ou diretório.

A correção intercepta todas as chamadas de API que retornam atributos de arquivos e diretórios que são invocados a partir do diretório %TEMP%, e redefine o atributo FILE_ATTRIBUTE_NOT_CONTENT_INDEXED ao seu estado original.

HeapClearAllocation

O problema é indicado quando o processo de alocação é encerrado inesperadamente.

A correção usa zeros para apagar a alocação de heap de um aplicativo.

IgnoreAltTab

O problema ocorre quando um aplicativo não funciona quando são usadas combinações chaves especiais.

A correção intercepta a API RegisterRawInputDevices e evita o envio de mensagens WM_INPUT. Esta falha de envio força os ganchos incluídos a serem ignorados e força o DInput a usar ganchos específicos ao Windows.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção IgnoreAltTab

 

IgnoreChromeSandbox

Essa correção permite que o Google Chrome seja executado em sistemas que têm o ntdll carregado acima de 4 GB.

IgnoreDirectoryJunction

O problema é indicado por uma mensagem de erro de leitura ou de violação de acesso que é exibida quando um aplicativo tenta encontrar ou abrir arquivos.

A correção vincula as APIs FindNextFileW, FindNextFileA, FindFirstFileExW, FindFirstFileExA, FindFirstFileW e FindFirstFileA para evitar que elas retornem junções de diretório.

Observação  

Os links simbólicos aparecem a partir do Windows Vista.

 

IgnoreException

O problema é indicado quando um aplicativo para de funcionar logo após ter sido iniciado, ou o aplicativo é iniciado com apenas um cursor aparecendo na tela.

A correção habilita o aplicativo a ignorar exceções específicas. Por padrão, essa correção ignora exceções de modo privilegiado; entretanto, pode ser configurada para ignorar qualquer exceção.

Você poderá controlar essa correção ainda mais ao digitar o seguinte comando no prompt de comando:

Exception1;Exception2

Onde Exception1 e Exception2 são exceções específicas a serem ignoradas. Por exemplo: ACCESS_VIOLATION_READ:1;ACCESS_VIOLATION_WRITE:1.

Importante  

Você deve usar esta correção de compatibilidade somente se estiver certo de que é aceitável ignorar a exceção. Você deverá experimentar problemas adicionais de compatibilidade se você escolher ignorar incorretamente uma exceção.

 
Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção IgnoreException

 

IgnoreFloatingPointRoundingControl

Essa correção permite que um aplicativo ignore a solicitação de controle de arredondamento e se comporte conforme esperado nas versões anteriores do aplicativo.

Antes do suporte a SSE2 de ponto flutuante na biblioteca de tempo de execução C, a solicitação de controle de arredondamento estava sendo ignorada, a qual usaria o arredondamento para a opção mais próxima por padrão. Esse shim ignora a solicitação de controle de arredondamento para dar suporte a aplicativos que se baseiam no comportamento antigo.

IgnoreFontQuality

O problema ocorre quando o texto do aplicativo parece estar distorcido.

A correção permite que as fontes coloridas funcionem adequadamente com suavização.

IgnoreMessageBox

O problema é indicado por uma caixa de mensagem que aparece com depuração ou conteúdo estranho quando o aplicativo é executado em um sistema operacional inesperado.

A correção intercepta APIs de MessageBox* e as inspeciona procurando por textos com mensagens específicas. Se um texto correspondente for encontrado, o aplicativo continuará sem exibir a caixa de mensagem.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção IgnoreMessageBox

 

IgnoreMSOXMLMF

O problema é indicado por uma mensagem de erro que declara que o sistema operacional não pode localizar o arquivo MSVCR80D.DLL.

A correção ignora o objeto MSOXMLMF.DLL registrado, o qual o Microsoft® Office 2007 carrega no sistema operacional a qualquer momento que você carrega um arquivo XML e, em seguida, o CoGetClassObject falha por conta de seu CLSID. Essa correção de compatibilidade apenas ignora o MSOXMLMF registrado e falha o CoGetClassObject devido ao seu CLSID.

IgnoreSetROP2

A correção ignora operações de leitura/modificação/gravação na área de trabalho para evitar problemas de desempenho.

InstallComponent

A correção pede que o usuário instale o .Net 3.5 ou o .Net 2.0, pois o .Net não está incluído no Windows 8.

LoadLibraryRedirect

A correção força um aplicativo a carregar versões de sistemas de bibliotecas em vez de carregar versões redistribuíveis que foram enviadas com o aplicativo.

LocalMappedObject

O problema ocorre quando um aplicativo tenta criar sem sucesso um objeto no namespace Global.

A correção intercepta o chamado de função para criar o objeto e substitui a palavra Global por Local.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção LocalMappedObject

 

MakeShortcutRunas

O problema é indicado quando um aplicativo falha ao desinstalar devido a erros relacionados a acesso.

A correção localiza todos os desinstaladores baseados em RunDLL.exe e força-os a serem executados com credenciais diferentes durante a instalação do aplicativo. Após a aplicação dessas correções, o instalador criará um atalho que especifique uma cadeia de caracteres correspondente para se executar durante a instalação do aplicativo, permitindo desta forma que a desinstalação ocorra mais tarde.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção MakeShortcutRunas

 

ManageLinks

A correção intercepta APIs comuns que estiverem indo a um diretório ou arquivo executável (.exe) e, em seguida, converte todas as junções simbólicas ou de diretório antes de passá-las de volta às APIs originais.

MirrorDriverWithComposition

A correção permite que os drivers de espelhamento trabalhem de forma adequada com desempenho aceitável de acordo com a composição da área de trabalho.

MoveToCopyFileShim

O problema ocorre quando um aplicativo experimenta problemas de acesso de segurança durante a configuração.

A correção força as APIs CopyFile a serem executadas em vez das APIs MoveFile. As APIs CopyFile evitam mover o descritor de segurança, o qual permite que os arquivos de aplicativo obtenham o descritor padrão da pasta de destino e evita o problema de acesso de segurança.

OpenDirectoryAcl

O problema é indicado por uma mensagem de erro que declara que você não tem as permissões adequadas para acessar o aplicativo.

A correção reduz os níveis de privilégio de segurança em um conjunto especificado de arquivos e pastas.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção OpenDirectoryACL

 

PopCapGamesForceResPerf

A correção resolve os problemas de desempenho em jogos PopCap, como o Bejeweled2. Os problemas de desempenho são visíveis em certas placas de baixo nível em determinadas resoluções em que o buffer 1024x768 é escalado para se adequar à resolução de tela.

PreInstallDriver

A correção pré-instala drivers para aplicativos que, de outra forma, tentariam instalar ou iniciar drivers durante o processo de inicialização.

PreInstallSmarteSECURE

A correção pré-instala CLSIDs de todo o computador para aplicativos que usam a proteção de cópia SmartSECURE, os quais de outra forma tentariam instalar os CLSIDs durante o processo de inicialização.

ProcessPerfData

O problema é indicado por uma mensagem de erro de Exceção sem tratamento porque o aplicativo tentou ler o valor do Registro de dados de desempenho do processo para determinar se outra instância do aplicativo está sendo executada.

A correção lida com o caso de falha ao passar uma chave do Registro de dados de desempenho de processo falsa, de forma que o aplicativo compreenda que é a única instância sendo executada.

Observação  

Esse problema parece ocorrer com mais frequência em aplicativos .NET.

 

PromoteDAM

A correção registra um aplicativo para receber notificações de alterações de estado de energia.

PropagateProcessHistory

O problema ocorre quando um aplicativo falha incorretamente ao aplicar uma correção de aplicativo.

A correção define a variável de ambiente _PROCESS_HISTORY para que os processos filho possam verificar no diretório pai se há informações correspondentes enquanto procuram por correções de aplicativo.

ProtectedAdminCheck

O problema ocorre quando um aplicativo falha ao executar por conta de permissões de Administrador Protegido incorretas.

A correção trata dos problemas que ocorrem quando aplicativos use verificações de Administrador que não são padrão, gerando desta forma falsos positivos para contas de usuários que estejam sendo executadas como Administradores Protegidos. Neste caso, a SID associada existe, mas esta definida como somente negação.

RedirectCRTTempFile

A correção intercepta chamadas CRT com falhas que tentam criar um arquivo temporário na raiz do volume, desta forma redirecionando as chamadas para um arquivo temporário no diretório temporário de usuário.

RedirectHKCUKeys

O problema ocorre quando um aplicativo não pode ser acessado devido a restrições de Controle de Conta de Usuário (UAC).

A correção duplica todas as chaves HKCU criadas recentemente para as contas HKCU de outros usuários. Essa correção é genérica para restrições UAC, em que as chaves HKCU são obrigatórias, mas estão indisponíveis para um aplicativo em tempo de execução.

RedirectMP3Codec

Esse problema ocorre quando você não consegue reproduzir arquivos MP3.

A correção intercepta a chamada CoCreateInstance para o filtro que está faltando e, em seguida, a redireciona para uma versão com suporte.

RedirectShortcut

O problema ocorre quando um aplicativo não pode ser acessado pelo seu atalho, ou atalhos de aplicativos não são removidos durante o processo de desinstalação do aplicativo.

A correção redireciona todos os atalhos criados durante a instalação do aplicativo para aparecerem de acordo com um caminho especificado.

  • Atalhos do Menu Iniciar: aparecem no diretório \\ProgramData\Microsoft\Windows\Menu Iniciar para todos os usuários.

  • Atalhos da Área de Trabalho ou de Início Rápido: você deve posicionar manualmente os atalhos na área de trabalho individual do usuário ou na barra de Início Rápido.

Esse problema ocorre por causa das restrições UAC: especificamente quando a instalação de um aplicativo é executada com privilégios elevados e armazena os atalhos de acordo com o contexto do usuário elevado. Nesta situação, um usuário restrito não poderá acessar os atalhos.

Você não pode aplicar essa correção a um arquivo .exe que inclua um manifesto e forneça um nível de execução.

RelaunchElevated

O problema ocorre quando instaladores, desinstaladores ou atualizadores falham quando são iniciados a partir de um aplicativo host.

A correção permite que um arquivo .exe filho seja executado com privilégios elevados quando for difícil determinar o processo pai com a correção ElevateCreateProcess ou ao marcar os arquivos .exe para RunAsAdmin.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção RelaunchElevated

 

RetryOpenSCManagerWithReadAccess

O problema ocorre quando um aplicativo tenta abrir o Gerenciador de Controle de Serviço (SCM) e recebe uma mensagem de erro de Acesso Negado.

A correção repete a chamada e solicita um conjunto mais restrito de direitos que inclui o seguinte:

RetryOpenServiceWithReadAccess

O problema ocorre quando uma mensagem de erro aparece: Não foi possível abrir o serviço porque o seu aplicativo usa a API OpenService() para testar a existência de um serviço em particular.

A correção repete a chamada à API OpenService() e verifica se o usuário que possui os direitos de Administrador não é um Administrador Protegido; também usando o acesso somente leitura. Os aplicativos podem testar a existência de um serviço ao chamarem a API OpenService(), mas alguns aplicativos pedem todos os acessos ao realizarem essa verificação. Essa correção repete a chamada, mas somente chamando pelo acesso de somente leitura. O usuário precisa ser um administrador para este trabalho

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção RetryOpenServiceWithReadAccess

 

RunAsAdmin

O problema ocorre quando um aplicativo não funciona ao usar uma conta de Usuário Padrão ou de Administrador Protegido.

A correção permite que o aplicativo seja executado com o uso de privilégios elevados. A correção é o equivalente à especificação de requireAdministrator em um manifesto de aplicativo.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção RunAsAdmin

 

RunAsHighest

O problema ocorre quando os administradores não podem visualizar a versão leitura/gravação de um aplicativo que apresenta uma visualização somente leitura para os usuários padrão.

A correção permite que o aplicativo seja executado com o uso das mais altas permissões disponíveis. Isso é o equivalente à especificação de highestAvailable em um manifesto de aplicativo.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção RunAsHighest

 

RunAsInvoker

O problema ocorre quando um aplicativo não é detectado como exigindo elevação.

A correção permite que o aplicativo seja executado ao usar privilégios que estão associados ao processo de criação, sem exigir elevação. Isso é o equivalente à especificação de asInvoker em um manifesto de aplicativo.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção RunAsInvoker

 

SecuROM7

A correção repara aplicativos usando SecuROM7 para a proteção de cópia.

SessionShim

A correção intercepta chamadas de API de aplicativos que estão tentando interagir com serviços que são executados em outra sessão usando o prefixo de nome do serviço do terminal (Global ou Local) como parâmetro.

No prompt de comando, você pode fornecer uma lista de objetos a serem modificados, separando os valores com uma barra invertida dupla (\\). Ou você pode escolher não incluir nenhum parâmetro, de forma que todos os objetos sejam modificados.

Importante  

Os usuários não poderão fazer logon como Sessão 0 (Sessão Global) no Windows Vista e em versões posteriores. Assim, aplicativos que exijam acesso à Sessão 0 falharão automaticamente.

 
Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção SessionShim

 

SetProtocolHandler

A correção registra um aplicativo como um manipulador de protocolo.

Você poderá controlar essa correção ainda mais ao digitar o seguinte comando no prompt de comando:

Client;Protocol;App

Onde Client é o nome do protocolo de email, Protocol é mailto e App é o nome do aplicativo.

Observação  

Somente o cliente mail e o protocolo mailto têm suporte. Você pode separar múltiplos clientes com o uso de uma barra invertida (\).

 

SetupCommitFileQueueIgnoreWow

O problema ocorre quando um programa de instalação de 32 bits não é instalado porque precisa de drivers de 64 bits.

A correção desabilita o sistema de arquivos Wow64 que é usado pelas edições de 64 bits do Windows, para evitar que os aplicativos de 32 bits acessem sistemas de arquivos de 64 bits durante a instalação do aplicativo.

SharePointDesigner2007

A correção resolve um bug de aplicativo que severamente o torna lento ao ser executado no DWM.

ShimViaEAT

O problema ocorre quando um aplicativo falha, mesmo após a aplicação de um reparo de compatibilidade conhecido por reparar um problema. Aplicativos que usam unicows.dll ou proteção contra cópia geralmente apresentam esse problema.

A correção aplica as correções de compatibilidade especificadas ao modificar a tabela de exportação e ao invalidar o uso da inclusão e exclusão de módulo.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção ShimViaEAT

 

ShowWindowIE

O problema ocorre quando um aplicativo Web experimenta a navegação e apresenta problemas por causa do recurso de tabulação.

A correção intercepta a chamada da API ShowWindow para lidar com os problemas que podem ocorrer quando um aplicativo Web determina que está numa janela filho. Esta correção chama a API ShowWindow real na janela pai do nível superior.

SierraWirelessHideCDROM

A correção repara a instalação do Sierra Wireless Driver, desta forma evitando a verificação de bug.

Sonique2

O aplicativo usa um estilo de janela inválido, que se decompõe no DWM. A correção substitui o estilo da janela por um valor válido.

SpecificInstaller

O problema ocorre quando um arquivo de instalação de aplicativo não pode ser escolhido pela função GenericInstaller.

A correção sinaliza o aplicativo como sendo um arquivo instalador (por exemplo, setup.exe) e, em seguida, solicita a elevação.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção SpecificInstaller

 

SpecificInstaller

O problema ocorre quando um aplicativo que não é um instalador (e que possui privilégios suficientes) gera um falso positivo a partir da função GenericInstaller.

A correção sinaliza o aplicativo para o excluir da detecção pela função GenericInstaller.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção SpecificNonInstaller

 

SystemMetricsLie

A correção substitui os valores SystemMetrics e os valores SystemParametersInfo por valores das versões anteriores do Windows.

TextArt

O aplicativo recebe coordenadas de mouse diferentes com DWM ON (ligado) versus DWM OFF (desligado), o que faz o aplicativo desligar. Essa correção resolve o problema.

TrimDisplayDeviceNames

A correção corta os nomes dos dispositivos de vídeo que são retornados pela API EnumDisplayDevices.

UIPICompatLogging

A correção permite o registro em log das mensagem do Windows a partir do Internet Explorer e de outros processos.

UIPIEnableCustomMsgs

O problema ocorre quando um aplicativo não se comunica adequadamente com outros processos porque as mensagens personalizadas do Windows não são entregues.

A correção permite que mensagens personalizadas do Windows passem através do processo atual a partir de um nível de integridade da Área de Trabalho mais baixo. Essa correção é o equivalente à chamada da função RegisterWindowMessage, seguida pela função ChangeWindowMessageFilter no código.

Você poderá controlar essa correção ainda mais ao digitar o seguinte comando no prompt de comando:

MessageString1 MessageString2

Onde MessageString1 e MessageString2 refletem as cadeias de caracteres das mensagens que podem passar.

Observação  

Várias cadeias de caracteres da mensagem devem ser separadas por espaços. Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção UIPIEnableCustomMsgs

 

UIPIEnableStandardMsgs

O problema ocorre quando um aplicativo não se comunica adequadamente com outros processos porque as mensagens padrão do Windows não são entregues.

A correção permite que mensagens padrão do Windows passem através do processo atual a partir de um nível de integridade da Área de Trabalho mais baixo. Essa correção é o equivalente à chamada da função ChangeWindowMessageFilter no código.

Você poderá controlar essa correção ainda mais ao digitar o seguinte comando no prompt de comando:

1055 1056 1069

Onde 1055 reflete a primeira ID de mensagem, 1056 reflete a segunda ID de mensagem e 1069 reflete a terceira ID de mensagem que pode passar.

Observação  

Várias mensagens podem ser separadas por espaços. Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção UIPIEnableStandardMsgs [act]

 

VirtualizeDeleteFileLayer

A correção virtualiza operações DeleteFile para aplicativos que tentam excluir arquivos protegidos.

VirtualizeDesktopPainting

A correção melhora o desempenho de uma quantidade de operações no DC da Área de Trabalho durante o uso do DWM.

VirtualRegistry

O problema é indicado quando uma mensagem de erro de componente não localizado aparece quando um aplicativo é iniciado.

A correção habilita as funções do Registro para permitir virtualização, redirecionamento, valores de expansão, falsificação de versão, simulação de contadores de dados de desempenho e assim por diante.

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção VirtualRegistry

VirtualizeDeleteFileLayer

O problema ocorre quando diversas mensagens de erro aparecem e o aplicativo não pode excluir os arquivos.

A correção faz a função DeleteFile do aplicativo fazer uma chamada virtual na tentativa de corrigir os problemas de UAC e de virtualização de arquivos que foram introduzidos com o Windows Vista. Essa correção também vincula outras APIs de arquivo (por exemplo, GetFileAttributes) para garantir que a virtualização de um arquivo seja excluída.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção VirtualizeDeleteFile

 

VirtualizeHKCRLite

O problema ocorre quando um aplicativo falha ao registrar os componentes COM em tempo de execução.

A correção redireciona as chamadas de gravação HKCR (HKLM) para o hive HKCU para um registro COM por usuário. Isso funciona de modo muito semelhante à correção VirtualRegistry quando se usa o parâmetro VirtualizeHKCR; entretanto, VirtualizeHKCRLite fornece um desempenho melhor.

HKCR é uma mesclagem virtual dos diretórios HKCU\Software\Classes e HKLM\Software\Classes. O uso de HKCU é preferível se um aplicativo não for elevado e será ignorado se o aplicativo for elevado.

Você normalmente usará essa correção de compatibilidade em conjunção com a correção VirtualizeRegisterTypeLib.

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção VirtualizeHKCRLite

VirtualizeRegisterTypeLib

A correção, quando usada com a correção VirtualizeHKCRLite, garante que biblioteca de tipos e o registro de classe COM aconteçam simultaneamente. Essas funções são semelhantes à correção RegistryTypeLib quando o parâmetro RegisterTypeLibForUser é usado.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção VirtualizeRegisterTypelib

 

WaveOutIgnoreBadFormat

Esse problema é indicado por uma mensagem de erro que declara: Não foi possível inicializar o dispositivo de som a partir do seu driver de áudio; o aplicativo será fechado em seguida.

A correção habilita o aplicativo a ignorar o erro de formato e continuar funcionando adequadamente.

WerDisableReportException

A correção desliga o relatório silencioso das exceções para a ferramenta de Relatório de Erros do Windows, incluindo as que são relatadas pelo Object Linking and Embedding-Database (OLE DB). A correção intercepta a API RtlReportException e retorna uma mensagem de erro de STATUS_NOT_SUPPORTED.

Win7RTM/Win8RTM

A camada oferece ao aplicativo o modo de compatibilidade do Windows 7/Windows 8.

WinxxRTMVersionLie

Esse problema ocorre quando um aplicativo falha porque não encontra o número de versão correto para o sistema operacional Windows necessário.

Todas as correções de compatibilidade de mentira de versão lidam com o problema por meio do qual um aplicativo não funciona porque está procurando, mas não encontra, uma versão específica do sistema operacional. A correção de mentira de versão retorna a informação de versão do sistema operacional adequado. Por exemplo, VistaRTMVersionLie retorna as informações de versão do Windows Vista ao aplicativo, independentemente da versão real do sistema operacional que esteja sendo executada no computador.

Wing32SystoSys32

O problema é indicado por uma mensagem de erro que declara que a biblioteca WinG não foi adequadamente instalada.

A correção detecta se a biblioteca WinG32 está presente no diretório correto. Se a biblioteca estiver localizada no local errado, essa correção copiará as informações (normalmente durante o tempo de execução do aplicativo) no diretório %WINDIR% \system32.

Importante  

O aplicativo deve ter privilégios de Administrador para que essa correção funcione.

 

WinSrv08R2RTM

WinXPSP2VersionLie

O problema ocorre quando um aplicativo experimenta problemas por causa de uma DLL de tempo de execução do VB.

A correção força o aplicativo a seguir este passos:

  1. Abra o Administrador de Compatibilidade e selecione Nenhum para o Modo do Sistema Operacional.

  2. Na página das Correções de Compatibilidade, clique em WinXPSP2VersionLie e, em seguida, clique em Parâmetros.

    A caixa de diálogo Opções para <nome_da_correção> é exibida.

  3. Digite vbrun60.dll na caixa Nome do Módulo, clique em Incluir e, em seguida, Adicionar.

  4. Salve o banco de dados personalizado.

    Observação  

    Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção WinXPSP2VersionLie

     

WRPDllRegister

O aplicativo falha quando tenta registrar um componente COM que foi lançado juntamente com o Windows Vista e versões posteriores.

A correção ignora os processos de registro e de cancelamento do registro de componentes COM protegidos por WRP ao chamar as funções DLLRegisterServer e DLLUnregisterServer.

Você poderá controlar essa correção ainda mais ao digitar o seguinte comando no prompt de comando:

Component1.dll;Component2.dll

Onde Component1.dll e Component2.dll refletem os componentes a serem ignorados.

Observação  

Para obter mais informações detalhadas sobre essa correção de aplicativo, consulte Usando a correção WRPDllRegister

 

WRPMitigation

O problema é indicado quando uma mensagem de erro de acesso negado aparece durante a tentativa de um aplicativo de acessar um recurso do sistema operacional protegido ao usar mais do que o acesso somente leitura.

A correção emula a autenticação e modificação com êxito de APIs de arquivo e de registro, de forma que o aplicativo possa continuar.

Observação  

Para obter mais informações detalhadas sobre esta correção, consulte Usando a correção WRPMitigation

 

WRPRegDeleteKey

O problema é indicado por uma mensagem de erro de acesso negado que aparece durante a tentativa de um aplicativo de excluir uma chave do Registro.

A correção verifica se a chave do Registro é protegida por WRP. Se a chave for protegida, essa correção emulará o processo de exclusão.

XPAfxIsValidAddress

A correção emula o comportamento do Windows XP para MFC42!AfxIsValidAddress.

 

Modos de compatibilidade

A tabela a seguir lista os modos de compatibilidade conhecidos.

Nome do modo de compatibilidade Descrição Correções de compatibilidade incluídas

WinSrv03

Emula o sistema operacional Windows Server 2003

  • Win2K3RTMVersionLie

  • VirtualRegistry

  • ElevateCreateProcess

  • EmulateSorting

  • FailObsoleteShellAPIs

  • LoadLibraryCWD

  • HandleBadPtr

  • GlobalMemoryStatus2GB

  • RedirectMP3Codec

  • EnableLegacyExceptionHandlinginOLE

  • NoGhost

  • HardwareAudioMixer

WinSrv03Sp1

Emula o Windows Server 2003 com o sistema operacional Service Pack 1 (SP1).

  • Win2K3SP1VersionLie

  • VirtualRegistry

  • ElevateCreateProcess

  • EmulateSorting

  • FailObsoleteShellAPIs

  • LoadLibraryCWD

  • HandleBadPtr

  • EnableLegacyExceptionHandlinginOLE

  • RedirectMP3Codec

  • HardwareAudioMixer