D
David W. Fenton
Let me know a little bit more about the problem of libraries if
you would - - and anyone else can join in if need be.
If you're distributing on Win9x, then you're obviously using A2K or
earlier. The key thing about MDEs failing is the question of
references, which can't be fixed up on the fly in an MDE. Because of
this, as I said in my reply to Marsh's post, I use late binding for
everything but the default Access references. This means that the
only references any of my Access databases have in them are:
Visual Basic for Applications
Microsoft Access X.X Object Library
Microsoft DAO X.X Object Library
In the case of Access 2007, the DAO library is called something else
now (ACE?), and the X.X will differ according to the version of
Access, e.g., for A2K, it's Access 9 and DAO 3.6, for A2K, Access 10
and DAO 3.6 and for A2K3, Access 11 and DAO 3.6 (noticing a
pattern?). Any other libraries, such as the Office Automation
library or JRO or any of a number of others I get rid of the
reference and use late binding.
Late binding means that your code doesn't have any compilation
dependencies on that outside libary that you're using through late
binding. It also means it's possible to recover from the absence (or
misconfiguration) of the outside component.
Search the Access newsgroups on Google Groups for the phrase "late
binding" for lots and lots of posts on the subject. It's a tool that
anyone distributing a runtime app really needs to use regularly,
particularly given diverse target systems.