Changes in the access database are not saved since the upgrade to Windows 7

I am working with a program that accesses an MS-Access database. The problem is, if I open the db file with Access, the values ​​I see are not the values ​​I see when I use the program. For example, there is a PARAMS table with various programmatic variables, one of which is the date when I last downloaded a particular file. In the access it reads April 12, 2010, and in the program - May 7, 2010 (this is correct).

April 12 is roughly the time I upgraded my computer to Windows 7. Also, the mdb file is next to the executable in C: \ Program Files (x86); and I know that Win7 does not allow programs to write files to program files. So where are the changes saved?

What I tried: I tried to open the mdb file on another computer - still reading wrong (old) values ​​I tried to copy the entire program directory to another folder - now both program and ms access are reading wrong values.

Can someone tell me how to get the DB version with all values ​​up to date with the program?

Thanks.

+2


a source to share


2 answers


Are you putting the database in the application folder? If so, you are probably experiencing UAC virtualization (AKA data forwarding).

"For example, if an application tries to write to C: \ Program Files \ Contoso \ Settings.ini and the user does not have write permissions to that directory (program files), the write operation will be redirected to C: \ Users \ Username \ AppData \ Local \ VirtualStore \ Program Files \ Contoso \ settings.ini "

Instead, the database should be stored in the % APPDATA% folder .



http://windowsteamblog.com/blogs/developers/archive/2009/08/04/user-account-control-data-redirection.aspx

http://support.microsoft.com/kb/927387

+4


a source


When you browse the program files in Windows Explorer, look for the button along with Organize, Open, Print, Burn, etc. that says Compatibility Files

. This will take you to the virtualization location for the folder.



Also, if you are willing to put up with the UAC prompt, if you run the application as administrator, it will write to the folder under the program files. Or if you move your installation to somewhere other than program files, although doing so will lose protection from someone changing the exe, it will write to the application directory as well.

0


a source







All Articles