Link to home
Start Free TrialLog in
Avatar of kenabbott
kenabbottFlag for United Kingdom of Great Britain and Northern Ireland

asked on

MS Access runtime and DLL's

Hi

I have just sent an Access runtime app to some onewho when it runs get a 'msado15.dll missing' refernece error.

On the base Access db the dll is being correctly referenced so my only conclusion is that the dll on their machine is in a different folder and thus the path is different - does anyone know if this is likely?

Also what is strange is that previous versions of the RT have worked on their PC and the new vesrion only has the smallest of tweaks (certainly nothing affecting code or references).

Finally if the dll is in a different folder is there a way of fixing this with the RT?

Cheers
ASKER CERTIFIED SOLUTION
Avatar of Jim Dettman (EE MVE)
Jim Dettman (EE MVE)
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of RgGray3
RgGray3

Is it possible that the OS is 64 bit?

had a similar problem with an app where the client machine was using Win7 64 bit and the DLLs were installed to ...

"c:\Program Files (x86)\Microsoft Office\Office14"

In your case probably Office15

Rich
Further note that "msado15.dll" is a file referenced by the MDAC/ADO library. You can use Component Checker (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=8f0a8df6-4a21-4b43-bf53-14332ef092c9) to determine the version(s) of MDAC installed on the machine. This can also tell you if there are any mismatched items on the machine (at least in terms of MDAC), which can help you to troubleshoot.

Note also that the filename "msado15.dll" is the same for all versions of ADO from 2.1 forward (and probably prior versions as well).

<Also what is strange is that previous versions of the RT have worked on their PC and the new vesrion only has the smallest of tweaks (certainly nothing affecting code or references).>

Are you referring to the Access RUNTIME when you write this? If so, and if you're deploying to a machine where you know the Runtime is installed, then you don't need to redeploy the runtime - only your application and support files.

Avatar of kenabbott

ASKER

re 'Are you referring to the Access RUNTIME when you write this? If so, and if you're deploying to a machine where you know the Runtime is installed, then you don't need to redeploy the runtime - only your application and support files.'

No runtime wasn't re-installed, only new version of RT file, thus why I was curious it suddenly stopped working
Okay ... just wanted to be sure.

You might simply have corruption in the new database. Do you have a "deployment" routine that you use to try and counteract that? I do this:

1) Make a backup
2) Compact the application.
3) Decompile the application - build a shortcut with the target like this: "full path to msaccess.exe" /decompile. Run that shortcut, locate your file, and "open" it.
4) Compile the application. From the VBA Editor, click Debug - Compile. Fix any errors and continue this until the menuitem is disabled.
5) Compact again
6) Create a new, blank database and import everything. Make sure to remake references, re-insert Activex controls (if used), and move over any custom Database Properties (if used).

Now deploy that new one. While I agree this is probably overkill, and you could probably just do steps 1, 2 and 6, I've always used this method and it's very, very rare that I deliver a corrupt FE.