Como mencionado nos comentários, essa pasta foi virtualizada . O plug-in do Silverlight, ao tentar analisá-lo, realmente vê um lugar completamente diferente.
Primeiro, alguma história
Na transição do Windows XP para o Vista, a Microsoft levou a sério quem é o usuário padrão (em oposição aos administradores). Infelizmente, os desenvolvedores de aplicativos não ficaram sérios e grandes quantidades de programas foram gravados em locais "do sistema", como C:\Windows
ou HKEY_LOCAL_MACHINE
. Para permitir que esses aplicativos continuem sendo executados, a Microsoft adicionou um recurso chamado redirecionamento ou virtualização UAC . Quando programas em execução como usuários padrão tentavam gravar em locais somente de administrador, a gravação foi bem-sucedida, mas os dados foram armazenados em um local por usuário, especificamente:
\Users\<username>\AppData\Local\VirtualStore
Mas o que isso tem a ver com isso?
O Modo Protegido do Internet Explorer faz com que o IE e seus plugins sejam executados como algo ainda menos poderoso do que um usuário padrão. A transição XP → Vista introduziu a ideia de níveis obrigatórios . Todos os objetos protegíveis têm um nível obrigatório : baixo , médio, alto ou sistema. Material destinado a ser escrito por usuários / programas normais tem um nível médio obrigatório.
As coisas que até mesmo os programas não confiáveis podem gravar tem um nível baixo e obrigatório, e é nesse modo que o Modo Protegido do IE é executado. Portanto, ele não pode gravar em nenhum dos seus documentos ou descartar coisas ruins na pasta do usuário. O sistema de arquivos é redirecionado para esses plugins:
\Users\<username>\AppData\Local\Microsoft\Windows\INetCache\Virtualized
Observe que os níveis de integridade obrigatórios podem negar o acesso, mesmo que a lista de controle de acesso discricionário permita isso. Isso pode resultar em confusão, caso você não esteja ciente do controle de acesso obrigatório.
Como faço para verificar o nível obrigatório de um arquivo ou pasta?
Use o utilitário icacls
, como icacls file.txt
ou icacls \path\to\folder
. Quando eu executo isso na pasta Virtualized
, recebo:
NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
BUILTIN\Administrators:(I)(OI)(CI)(F)
MYCOMP\Ben:(I)(OI)(CI)(F)
Mandatory Label\Low Mandatory Level:(OI)(CI)(NW)
Como você pode ver, a pasta tem um baixo nível obrigatório. Na minha unidade C:\
, recebo:
NT AUTHORITY\Authenticated Users:(S,AD)
NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(M)
NT AUTHORITY\SYSTEM:(OI)(CI)(F)
BUILTIN\Administrators:(OI)(CI)(F)
BUILTIN\Users:(OI)(CI)(RX)
Mandatory Label\High Mandatory Level:(OI)(NP)(IO)(NW)
A raiz da minha unidade tem um alto nível obrigatório. A maioria dos objetos não mostra essa linha; quando está ausente, o Windows assume que o objeto tem um nível médio obrigatório.
Como faço para interromper o redirecionamento?
Desativar o Modo Protegido em todos os lugares faria isso, mas isso seria ruim para a segurança. Se você confiar no site que serve o aplicativo do Silverlight, poderá adicioná-lo a uma zona da Internet que tenha o Modo Protegido desativado. Faça isso abrindo a caixa de diálogo Opções da Internet, alternando para a guia Segurança, selecione a zona Sites confiáveis e clique no botão Sites.