Well I’m not expecting to rock anybodies boat with that earth shattering statement. But a VB project is truly an evil beast. At some point the Microsoft VB developers must have thought “we can force upgrades by linking to whatever version we find on the dev PC”. The effect of this is that one of our legacy app’s that pushes data into a Access 2000 db, current requires Access 2003 if you launch from the VB app, compared to only needed Access 2000 if you double clicking the .mdb from explorer.
This is evil, and comes from the mind set of “solo developers” hacking apps. It has taken a while solve so my build scripts don’t brake due to the .dll layout/versions changes as different people (just two of us really) check in changes. I’ve taken to coping the .dll to a sub directory of the project, and manually inspecting the project file to check VB has not changed .dll location, after/before check-ins.
Now I know the cause of the problem, I can fix the app to use the Access 2000 .dll, and then use the Access 2000 Run-time installer, but only when full Access 2000 or 2003 is not installed, because it changes how the other two installs work. Grrrrr.
I am very much looking forward to migrating some tools/apps to a unified solution whether that is C++, MFC C++, Delphi, or .Net. They are all much better platforms than VB.