Why virtualization in the ProgramData folder in MS Vista?

I have an application modified to account for UAC in VISTA. So now .mdb (JET or access file) is located in ProgramData\MyApp\

I realized that when my application first reads the database, it does it from this place ... but when my application writes to the database ... the file is virtualized and goes to Users\MyUser\AppData\Local\VirtualStore\ProgramData\MyApp . From now on, my application always goes to virtual disk space.

My application works, but if I continue this way, the database will be available for each user, and we really need to share the database with all users on the PC.

I thought that writing in the ProgramData folder would not trigger a virtualization mechanism.

What am I missing?

I need to set permissions for MyApp folder in ProgramData strong>

How to do this during installation?

Thanks to the people ...

Additional Information: Developed using VS2003 VB.NET using the VS installation project.

+7
virtualization windows-vista uac
source share
2 answers

Most likely, you will need to set write permissions for all users during installation.

To test, delete the virtualized folder, manually set the permissions in the folder and the ProgramData \ MyApp files and see if this works.

As for how to do this pragmatically during installation, it really depends on what technology you use.

+2
source share

I also had problems, it seems that Vista once decided to virtualize a file, the only way to stop it is to delete the virtual file. The next time you use it, it will use the ProgramData folder.

+1
source share

All Articles