Estou executando o Windows 8 Enterprise x64. Efetuei logon usando uma conta do grupo Administradores. Quando abro o Windows Explorer ou um prompt de comando, vejo o arquivo cdd.dll
:
C:\Windows\system32>dir cdd.dll
Volume in drive C has no label.
Volume Serial Number is ▨▨▨▨-▨▨▨▨
Directory of C:\Windows\system32
07/25/2012 09:49 PM 199,680 cdd.dll
Mas se eu abrir uma caixa de diálogo Abrir arquivo no navegador Chrome, Visual Studio ou em alguns outros aplicativos (todos aplicativos de 32 bits) e navegar até C:\Windows\system32
esse arquivo (o filtro está definido para mostrar Todos os arquivos). E se eu chamar o item de menu de contexto "Abrir janela de comando aqui" usando Shift + RightClick na caixa de diálogo Abrir arquivo e digitar, dir
ele confirma que não existe esse arquivo:
C:\Windows\System32>dir cdd.dll
Volume in drive C has no label.
Volume Serial Number is ▨▨▨▨-▨▨▨▨
Directory of C:\Windows\System32
File Not Found
Esse efeito não é específico cdd.dll
, pois muitos outros arquivos também diferem. Foi-me dito que isso é um efeito da virtualização do sistema de arquivos , sobre o qual sei muito pouco.
Você poderia me explicar ou me fornecer uma referência que explique como isso realmente funciona? Na verdade, existem várias instâncias diferentes da System32
pasta. Qual é a sua localização física no disco? É possível acessar a partir de arquivos de processo de 32 bits em uma System32
pasta diferente daquela mostrada nos processos de 32 bits por padrão.
fonte
Respostas:
O problema é o redirecionamento de pasta . Se um programa de 32 bits tentar acessar a
%windir%\System32
pasta, ele será invisivelmente redirecionado para o%windir%\SysWOW64
diretório. Isso significa compatibilidade com aplicativos de 32/64 bits.Todos os arquivos no System32 são de 64 bits; no entanto, se um programa foi gravado incorretamente, eles podem ter codificado o System32 no programa ao procurar uma DLL. Para evitar travamentos aleatórios de programas de programas gravados incorretamente, a Microsoft faz esse redirecionamento.
Se você precisar acessar a pasta System32 e não a pasta SysWOW64, navegue até a pasta "oculta",
%windir%\sysnative
que o levará àSystem32
pasta "real" e poderá navegar na pasta normalmente.fonte
%windir%
é uma variável de ambiente, você poderia escrevê-lo em apenas como aquele em janelas e ele iria trabalhar, 99% do tempo que ele representaC:\Windows
O WOW64 (Windows no Windows 64 bits) usa várias tecnologias / técnicas para suportar aplicativos de 32 bits. Entre esses estão os redirecionadores de pastas e registros.
Windows Dev Center: Desktop executando aplicativos de 32 bits
fonte