Pregunta

Tengo una aplicación modificada para tener en cuenta el UAC en VISTA. Entonces, ahora, el .mdb (archivo JET o Access) se encuentra en ProgramData\MyApp\

Me di cuenta de que cuando mi aplicación lee la base de datos por primera vez, lo hace desde esa ubicación ... pero cuando mi aplicación está escribiendo en la base de datos ... el archivo está virtualizado y va a Users \ MyUser \ AppData \ Local \ VirtualStore \ ProgramData \ MyApp . Desde este momento en mi aplicación, siempre vaya a la ubicación virtualizada en el disco.

Mi aplicación está funcionando, pero si continúo de esta manera, la base de datos sería por usuario, y realmente necesitamos compartir la base de datos con todos los usuarios de la PC.

Pensé que escribir en la carpeta ProgramData no activaría el mecanismo de virtualización.

¿Qué me estoy perdiendo?

Necesito establecer los permisos para la carpeta MyApp en ProgramData ??

¿Cómo puedo hacer eso en el momento de la instalación?

Gracias gente ...

Más información: Desarrollado con VS2003 VB.NET utilizando el Proyecto de configuración de VS.

¿Fue útil?

Solución

Es muy probable que necesite establecer permisos de escritura para todos los usuarios durante la instalación.

Para probar, elimine la carpeta virtualizada, establezca manualmente los permisos en la carpeta y los archivos ProgramData \ MyApp y vea si eso funciona.

En cuanto a cómo hacerlo de manera pragmática durante la instalación, eso realmente depende de la tecnología que estés usando.

Otros consejos

También aquí he tenido problemas, parece que una vez que Vista decide virtualizar el archivo, la única forma de detenerlo es eliminar el archivo virtual. La próxima vez que lo uses, usará la carpeta ProgramData.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top