Vista Virtual Store - File Versioning

  • Thread starter DavidT via AccessMonster.com
  • Start date
D

DavidT via AccessMonster.com

Is there a way to version an access file similar to what you can do with an
EXE?
I have a FE/BE setup. Distributing the application to multiple customers.
Initially, I install an MDE file to Program Files. I distribute a new "build"
of the file (addressing known issues/bugs) and overwrite the initially
installed file via an msi package. All works fine in WinXP and Win2000. With
Vista, there is a problem. A copy of the MDE file is copied to a Users
Virtual Store in Vista every time the user opens the application. Because the
MDE file has the same name, the older "build" of the MDE is always opened in
Vista. I am attempting to include an application manifest in my installation
to identify the correct version of the MDE to open but am stuck trying to
apply a version number to the file. In theory, this should fix the problem
(on open, if the MDE in the Virtual Store is the wrong version, it will be
overwritten with the new one). Am I totally off-base on this?
This is a legacy application that has been through multiple versions and we
are stuck with the per-machine Program Files installation. Short of renaming
the file to include the version and build number (e.g., "MyApp_71863.MDE") or
using a 3rd party app, is there any other option? I have read the suggestions
of including version number information in the database, which would be great,
except this would have to be updated everytime a new build is distributed and
there is no way to update the build number without connecting to the database
and updating the value. Can't do that unless I can open the new build and
connect to the database. Any suggestions are appreciated.
 
T

Tony Toews [MVP]

DavidT via AccessMonster.com said:
Is there a way to version an access file similar to what you can do with an
EXE?
I have a FE/BE setup. Distributing the application to multiple customers.
Initially, I install an MDE file to Program Files. I distribute a new "build"
of the file (addressing known issues/bugs) and overwrite the initially
installed file via an msi package. All works fine in WinXP and Win2000. With
Vista, there is a problem.

Install the FE MDE to the user specific folder such as CSIDL_APPDATA
(or a sub folder off there) and not Program Files. Program Files is
read only by regular user.
A copy of the MDE file is copied to a Users
Virtual Store in Vista every time the user opens the application. Because the
MDE file has the same name, the older "build" of the MDE is always opened in
Vista. I am attempting to include an application manifest in my installation
to identify the correct version of the MDE to open but am stuck trying to
apply a version number to the file.

From what little I know about application manifests, and I know just
enough to be dangerous, these are applicable only to .exe's such as VB
6.0. (My experience on this comes from the work I did in the Auto FE
Updater to implement a manifest for it.) And won't work for MDEs. I
may very well be wrong. If I am though please point to an MSDN URL so
I can understand this better.
This is a legacy application that has been through multiple versions and we
are stuck with the per-machine Program Files installation. Short of renaming
the file to include the version and build number (e.g., "MyApp_71863.MDE") or
using a 3rd party app, is there any other option?

Albert Kallal, fellow Access MVP, uses Inno Setup which overwrites the
FE automatically but I'm pretty sure he puts in the CSIDL_APPDATA
folder.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
D

DavidT via AccessMonster.com

Tony,
Thanks for the quick reply.
Install the FE MDE to the user specific folder such as CSIDL_APPDATA
(or a sub folder off there) and not Program Files. Program Files is
read only by regular user.

Tried this and had some issues with the per-user installation. Perhaps I
should try a per-machine only option and put it in AllUsers. I'll let you
know how that goes.
From what little I know about application manifests, and I know just
enough to be dangerous, these are applicable only to .exe's such as VB
6.0. (My experience on this comes from the work I did in the Auto FE
Updater to implement a manifest for it.) And won't work for MDEs. I
may very well be wrong. If I am though please point to an MSDN URL so
I can understand this better.

I think you are right. I am just looking for confirmation.

I just thought of another issue. We have always installed the database to
ProgramFiles. I'm wondering if users have multiple copies of their database
floating around in different Virtual Stores. I will experiment and post my
results.
Albert Kallal, fellow Access MVP, uses Inno Setup which overwrites the
FE automatically but I'm pretty sure he puts in the CSIDL_APPDATA
folder.

That's what I am trying to do in ProgramFiles without success because of the
copy in Virtual Store.

DT
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top