Sounds like a perfect application for side-by-side component sharing
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsetup/html/sidebyside.asp).
If you put a file with the same name as the executable, but with
.local appended to it, in the application directory, then Windows will
use "DLL/COM Redirection." In your case, the file would be
msaccess.exe.local (assuming that the Access executable is still named
msaccess in the 2002 version; it is in Office 2000), in the same
directory as msaccess.exe (c:\program files\microsoft office\office on
my machine).
You then put all of the .dlls and COM servers in this directory, and
Windows looks for the files in this directory before searching the
path or the location specified in the registry. Note that COM servers
still have to be registered with the correct GUIDs, but the path in
the registry doesn't matter.
This way, other apps continue to use the versions of components
specified in the registry or found on the path, and only Access uses
the local components.
Dumping files into the Office directory is a bit messy, but I thinks
it's a small price to pay.
Hope this works for you. BTW, it requires Windows 200, Windows 98 SE, or up.
- David |