Jim Dettman
jimdettman at verizon.net
Mon Jan 7 09:54:35 CST 2013
Andy, <<Interesting Jim. You're right that the MDB is in a sub-folder within C:\Program Files, but "Everyone" already has Full Control rights to that sub-folder, not least so that the LDB can be created and deleted.>> << What else can I do to avoid this?>> You need to take ownership of the folder as well to avoid the re-direction. <<To my mind it's pretty amazing (and not in a good way) that such a fundamental thing as "I tell the OS to open a file and it opens it" has changed to "I tell the OS to open a file and it may decide to open a different one (and without telling me that that's what it has done)".>> I fully agree with you. I like you am getting tired of Microsoft building all this stuff into the OS. Things just keep getting more and more complex. Microsoft does this kind of thing and it just causes more problems. What they should have done is simply returned the "Access is denied" error and not hide the problem. Then it's up to the developer to put the app where it belongs or get it installed properly. Of course all the developers would scream that backwards compatibility is not being considered then. They could have gone a different route though and created new program folder paths for Vista and Windows 7 that were secure, leaving the old folders alone so they worked as they always have. But I'm sure that would carry ramifications as well and might even be worse. But at least the situation would be clear to anyone then about what was going on. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey Sent: Monday, January 07, 2013 09:11 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Windows 7 Running Cached Old Version Of MDB Interesting Jim. You're right that the MDB is in a sub-folder within C:\Program Files, but "Everyone" already has Full Control rights to that sub-folder, not least so that the LDB can be created and deleted. It would be quite a bit of work to move the MDB because everyone on the site is setup the same way and there are sub-sub-folders used too. What else can I do to avoid this? To my mind it's pretty amazing (and not in a good way) that such a fundamental thing as "I tell the OS to open a file and it opens it" has changed to "I tell the OS to open a file and it may decide to open a different one (and without telling me that that's what it has done)". Andy On 07 January 2013 at 14:00 Jim Dettman <jimdettman at verizon.net> wrote: > > It stems from Microsoft's attempt to protect various folders. If you try > to write to a protected folder, it's re-directed to a virtual store so the > app doesn't complain (by default, standard users can write to many of the > system folders). > > The real problem is that many of us when it comes to Vista/Win 7 don't > follow best practices; no user should be writing into C:\program files or > c:\program files (x86). Yet prior to > these OS's, that's where Microsoft told us to put everything. > > If you want to leave this in the \program files folders, take ownership of > the sub folder and give everyone full permissions to it. That will allow > writes into the folder and items will no longer be redirected to the virtual > store. > > Jim. > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Andy Lacey > Sent: Monday, January 07, 2013 06:37 AM > To: Access Developers discussion and problem solving > Subject: [AccessD] Windows 7 Running Cached Old Version Of MDB > > I thought I'd truly lost it this time. > > > Running our main MDB one machine was giving the message that it was running > an > out-of-date version. This uses a home-spun routine and triggers a new > version to > copy down from the network. But the error message persisted. So I manually > did > the copy and it still happened. I looked at the file on the server and it > was > the latest version. I copied it to the folder on C:, looked at it there and > it > was the old version. What the......?????? I copied the version from the > server > to another folder (C:\Temp) and that ran fine. Copied from C:\Temp to the > file's > normal home on C: and got the error message again! Bizarre. Here's the > best..I > deleted the MDB and ran it from the Windows icon that the users use, waiting > for > the Windows error that it was trying to run a non-existent file. But no, it > still ran and gave the error. So now it's running a file which doesn't > exist. > Now beginning to doubt the evidence of my own eyes. Flushed recycle bin, > deleted > temporary files, switched pc off and back on. No change. Renamed the MDB and > it > ran fine. Renamed it back to its original name and got the error. Logged on > as > different user and the same file ran fine. Decided I'd lost it and went and > sat > in a darkened room going la, la, la, la. > > By now it was dawning on me that Windows had to be caching the old MDB and > running that so I Googled "windows 7 running cached version" and found the > solution. Go to > > C:\Users\this user\AppData\Local\VirtualStore > > and there's the cached copy. Delete that and all is well. > > Who knew? No doubt all of you, but it's a new one on me. I'm posting this to > help anyone else who has this happen but also to ask if there is a way to > prevent it as it totally interferes with any version management you might > have. > Anyone got the answer? > > Cheers > > Andy > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com