Como você alterar permissões de arquivo para parar Vista de escrever para um arquivo no diretório VirtualStore?

StackOverflow https://stackoverflow.com/questions/493351

Pergunta

Quando o meu programa instala primeiro ele coloca um arquivo no diretório AppData do usuário, eo programa, em seguida, periodicamente escrever para esse arquivo. O problema está em Vista as gravações não são feitas para o arquivo no diretório AppData do usuário, eles são feitos para uma cópia desse arquivo no diretório “VirtualStore / ProgramData”. O arquivo original no diretório AppData do usuário nunca é alterado, parece quando o programa é executado ele só tem acesso ao arquivo dentro do diretório VirtualStore.

Existe uma maneira de dentro de um aplicativo C # para alterar as permissões nesse arquivo para que meu programa vai escrever para o original no diretório AppData e não aquele no diretório VirtualStore?

Obrigado,

Jeff

Foi útil?

Solução

A documentação UAC em http://msdn.microsoft.com/en -us / library / bb756973.aspx deve ajudá-lo a resolver isso.

Parece-me que você precisa adicionar um manifesto de aplicativo.

Quando o aplicativo inclui um manifesto de aplicativo com um valor "requestedExecutionLevel" especificado, a virtualização do sistema de registro e arquivos do Vista será desligado.

Dê uma olhada http://msdn.microsoft.com/en -us / library / bb756929.aspx para fins específicos.

Se você ainda não tiver testado sua aplicação em condições não-administrador, você pode achar que você precisa fazer algumas alterações no código depois de desligar a virtualização do Vista.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top