Por Virtualization on pasta ProgramData em MS Vista?
-
03-07-2019 - |
Pergunta
Eu tenho um aplicativo modificado para levar em conta o UAC no Vista.
Então, agora, o mdb (Access arquivo JET ou) está localizado na ProgramData\MyApp\
Eu percebi que quando meu aplicativo lê o banco de dados para a primeira vez que está fazendo isso a partir desse local ... mas quando meu aplicativo está escrevendo para o banco de dados ... o arquivo é virtualizado e vai para Users\MyUser\AppData\Local\VirtualStore\ProgramData\MyApp
. A partir deste momento meu aplicativo sempre ir para o local virtualizado no disco.
Meu aplicativo está funcionando, mas se eu continuar desta forma, o banco de dados estaria em uma base por usuário, e nós realmente precisamos compartilhar o banco de dados com todos os usuários no PC.
Eu pensei que escrita sob ProgramData pasta gatilho would't o mecanismo de virtualização.
O que eu estou perdendo?
Eu preciso definir as permissões para pasta MyApp em ProgramData ??
Como posso fazer isso em tempo de instalação?
Obrigado pessoas ...
Mais informações: Desenvolvido com VS2003 VB.NET utilizando o Setup VS projeto.
Solução
O mais provável é que você precisa para permissões de gravação definido para todos os usuários durante a instalação.
Para teste, exclua a pasta virtualizado, definir manualmente as permissões na pasta ProgramData \ MyApp e arquivos e ver se isso funciona.
Quanto à forma de fazer isso de forma pragmática durante a instalação, que realmente depende do que a tecnologia que você está usando.
Outras dicas
Eu tive problemas aqui também, parece vista uma vez é decide virtualizar o arquivo, a única maneira de pará-lo é para excluir o arquivo virtual. A próxima vez que você usá-lo, ele irá usar a pasta ProgramData.