Deploying Access Frontend Over Network dealing with missing & older Reference files.

Hey everyone,

I've been developing an in house database application over the past 2 years, and this application is getting away from me a little bit. This application involves Outlook, Map Point, TAPI, scripttime, text messaging, and a few others. The problem i'm having is i develop and work on this database at two locations. My laptop which i just got a new one which uses windows 7 and office 2013, and then when i am at home i remote into our server and there i use office 2010. I currently am using Tony Toews Microsoft access front end updater to ensure everyone has the latest version of the front end. How do i make sure everyone has the correct ocx files and references loaded onto their computer.

I currently am using some code to copy and load the reference and register the ocx when it's not found on a computer. I plan on using some additional ocx scheduling tools and don't won't this to become a bigger problem that it is now.

Any suggestions would be great.

Thank you
jb702Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
<< I currently am using Tony Toews Microsoft access front end updater to ensure everyone has the latest version of the front end. How do i make sure everyone has the correct ocx files and references loaded onto their computer.>>

 It's either an installer of some type (Inno, Sage Key, etc) or you do it manually as your doing.

 It's a tough road with Access when you start to use a lot of non-native stuff.  Access/VBA is so sensitive to it's environment because it's more like a document that is read rather than a true executable.

 But the one thing I would suggest is setup a VM at home and get a copy of Access 2010 on there.  You always want to be developing in the earliest version common across all users (watch out for 32 vs 64 bit as well)

 The other thing you might consider is using a "Check" or "Launcher" app, which doesn't use the things non-native to Access, but checks, registers, etc all the stuff you app needs.

 If you use this as a "Launcher" (runs before your app and starts your app like Tony's FE updater), then checking the environment is simpler.

Jim.
1

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Dale FyeCommented:
No  points please.

I Strongly agree with Jim about creating the VM and installing Access 2010 on it so that you are always developing in the same version (no back and forth).

Dale
0
jb702Author Commented:
When i say i'm programming at home, i'm using my laptop to remote into our server which has access 2010, its when i'm actually at my office where my laptop is plugged into my docking station and then i'm using my laptop as the development computer.  i also remote into our server while at the office so i can run a couple of more quickbooks companies at the same time. So i should just develop on the server only it sounds like. everyone else in the office has office 2010 except for 1 other user.
0
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
JIm and Dale have suggested the correct process in regard to your development environment, but regarding upgrading external libraries:

I currently am using some code to copy and load the reference and register the ocx when it's not found on a computer.
From my viewpoint, this is a dangerous game. Your application should comply with the user's environment. It should not modify the user's environment to comply with your application. Mismatched versions of OCXs, external libraries etc are the very definition of "DLL Hell", and you can find yourself in a very bad situation very quickly if you manipulate and register libraries at will.

As suggested earlier, you should code to the "lowest common denominator" in your environment (if you can define such a thing). So if you know that all users will be running AT LEAST version 2.3 of SomeLibrary.dll, then make sure that your development environment is running 2.3 (or lower) of that same .dll. Access normally has no troubles upsizing references, but it cannot downsize them.

If you upgrade an external item to a new version, and you require that new version for whatever reason, then you need to either (a) install that new version on all your target machines or (b) fail your application if that version is not present. In the non-Access world this is typically done by deploying an upgrade/update to your application, which will include the new version of your item. This is almost always done with a standard Windows Installer file, which the user would run (just as you would any other software application on your system).

Unfortunately with Access, the process is typically just a copy/paste (and Tony's AutoUpdate does just that, i believe) so you must insure that your target machine's external libraries are at the correct version level. If you're dealing with a small number of machines in a tightly controlled environment, then you can just use the "sneaker net" process - go to each machine and install the newest version of the external libraries. If not, then as Jim suggested you might consider deploying with a Windows Installer so that you can insure the target machines always have the correct version of your external libraries.

But whatever the case, I'd strong suggest you stop modifying user environments to comply with your needs, and instead modify your application and development habits to have your application comply with user environments.
0
Martin LissOlder than dirtCommented:
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.