Por que o Vista 64bits oculta meus arquivos de impressão em uma pasta oculta especial?

2

Eu marquei a opção imprimir para arquivo no meu driver de postscript e não importa para onde eu digito o arquivo, ele acaba em uma pasta muito especial.

Demorei dias para finalmente encontrar onde o Vista está escondendo meus arquivos postscript. Está armazenando-as em algum caminho virtualizado que está oculto:

C:\Users\MyUserName\AppData\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\C\Users\MyUserName\temp

O que é ainda mais interessante é que desmarco o atributo oculto da pasta Virtualized, mas não, o Vista insiste em mantê-lo oculto. Claro, o bit oculto está desativado, mas nenhuma pasta aparece no Explorer ou na pesquisa. Eu encontrei isso apenas porque alguém mencionou esse lugar especial em um blog.

Existe uma maneira de fazer com que o driver da impressora envie o arquivo para uma pasta real?

    
por Robotnik 06.05.2009 / 04:46

3 respostas

4

Este driver de postscript está tentando colocar o arquivo em:

c:\Users\Jerry\temp

Observação: não sei por que ele está tentando colocá-lo em sua pasta temporária - essa é a falha do driver de impressão.

Mas o processo, que está imprimindo, foi marcado como Nível de integridade: baixo . Isso significa que o processo é muito limitado no que é permitido fazer no computador.

Uma dessas limitações só tem permissão para gravar em locais de sistema de arquivos que são definidos para permitir gravações Nível de integridade: Baixo ( ou seja, c:\Users\Jerry\temp não permite baixa integridade escreve). Uma instalação padrão do Windows Vista / 7 marca apenas duas pastas com o Nível de integridade baixo obrigatório :

  • %LOCALAPPDATA%\LocalLow
  • %LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Low

Estes são os únicos dois lugares que um processo de integridade " Baixo " pode escrever.

Se um processo obtiver "acesso negado" ao tentar salvar um arquivo: o Windows tentará silenciosamente salvar novamente, mas desta vez redirecionado para um local que permita a gravação. ( Nota: Este é um hack de compatibilidade para aplicações que foram escritas antes de Low Integrity existir)

O mesmo efeito acontece quando você tenta gravar em um local que requer acesso administrador , mas você é apenas um usuário padrão. por exemplo. se eu tentar salvar um arquivo para:

C:\Windows\test.txt

A gravação falhará e o Windows tentará silenciosamente salvar novamente, mas desta vez para:

%LOCALAPPDATA%\Local\VirtualStore\Windows\test.txt

Mais tarde, se você tentar abrir

C:\Windows\text.txt

O Windows redirecionará silenciosamente para a cópia na Loja Virtual .

Isso tudo é feito para que os aplicativos, que assumem incorretamente que todos os usuários são administradores , ainda funcionem quando o usuário for realmente um usuário padrão .

Observação: No Windows XP, esses aplicativos falhariam e geralmente eram terríveis quando não podiam salvar onde quer que desejassem. A Microsoft adicionou, com o Windows Vista, essa enorme infraestrutura de compatibilidade para permitir que esses aplicativos nocivos funcionem como usuário padrão.

Próxima pergunta: por que algumas pastas ficam ocultas quando você as mostra.

Pastas com as somente leitura & Os atributos System são considerados especiais pastas do sistema . Para vê-los, você precisa alterar suas preferências do Windows Explorer e desativar:

  • Ocultar arquivos protegidos do sistema operacional (recomendado)

Além disso, a sua pasta Temporary Internet Files está marcada como oculta , pelo que também terá de desativar a opção :

  • Não mostre pastas e arquivos ocultos

Você pode estar se perguntando como o Internet Explorer pode baixar arquivos; quando não é permitido gravar em qualquer local, exceto o local Nível de integridade obrigatória: baixo .

A resposta é que, assim que o arquivo é baixado, o processo que está sendo executado na guia comunica-se com o host do controlador do Internet Explorer e pede para mover o arquivo para o local solicitado. O processo do controlador do IE é executado com suas privelações ( usuário padrão ) - enquanto cada guia é executada em um processo de baixa integridade .

eu acho que se você imprimir algo do Notepad , ou Word , ou algum outro processo de nível de integridade " regular ", o salvamento será funciona bem ... para a pasta temp.

Estou surpreso por não perguntar onde você deseja salvar o arquivo.

    
por 05.07.2010 / 17:57
1

Por que ele está entrando em "Arquivos Temporários da Internet"? O seu driver está sendo executado no contexto do Internet Explorer por acaso? O IE virtualiza muito acesso a arquivos por motivos de segurança, a fim de evitar a gravação de códigos em locais protegidos.

    
por 06.05.2009 / 04:59
0

Você tentou procurar no registro por esse caminho ou talvez pela última parte dele (C \ Users \ MyUserName \ temp, por exemplo)? Se você encontrar, poderá alterar a configuração, direcionando-a para um local diferente. Não tenho certeza se você pode impedir que ele use um diretório virtual ou não.

    
por 06.05.2009 / 04:54