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.

Foi útil?

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.

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