I've developing an Excel program in Office 2007 running Vista (64). I found when testing the file on a user's XP machine that the following reference is problematic. I seem to have a newer or diff. reference, I guess based on the OS being run.

(VISTA) Microsoft ADO Ext. 6.0 for DDL and Security (File: msadox.dll)
(XP) Microsoft ADO Ext. 2.8 for DDL and Security (File: msadox.dll)

My reference causes code errors for Left(x) and some other basic code. If I manually change my reference in the file while on-site running XP, the code then runs fine. I'm trying to avoid having to develop/support 2 versions of this app.

My question is whether there is some way I can download the 2.8 reference to my VISTA machine, set my file to use it, and thus my distributed file would run w/o error on XP user's PC. But I find nowhere to download such Library References from Microsoft. (Perhaps messing with the .dll file would destabilize Office/VISTA?)

NOTE: On my VISTA 64 machine, the dll file exists under both C:\Program Files (x86) and C:\Program Files folders.

I see the following options:

1) Re-link the reference to the dll file under the \Program Files folder (not the "x86" folder, which I assume is for Vista 64)

2) Add code that will detect the "Missing" reference and insert the local one (I've seen example code on the Web.)
Example: http://www.vbaexpress.com/kb/getarticle.php?kb_id=267

3) Develop the file on an XP machine, matching the user's machine.

Am I missing anything easier and more solid?
Thanks in advance.

p.s. I don't think I want to get into late or early binding, which I don't understand but have read doing so would eliminate the need for any references. I also don't want to pass along code with binding in it to another developer who may also be unfamiliar with binding.