Solved

MS Access runtime and DLL's

Posted on 2011-02-21
5
891 Views
Last Modified: 2012-05-11
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
0
Comment
Question by:kenabbott
5 Comments
 
LVL 57

Accepted Solution

by:
Jim Dettman (Microsoft MVP/ EE MVE) earned 500 total points
ID: 34942039
<<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?>>

  More likely a different version, updated by something else.  I would check that.  At the same time, you can confrim the location.  Just have them do a search of their system.  When the file is found, have them not the path, then roight click and go to properties to check the version.

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

  Believe it or not, I just learned that you can get to the references dialog in the RT, which I hadn't thought was possible.

  Open the app with the shift key held down, the key alt/F11.  You can now click tools references and fix any that are missing or broken.

JimD.
0
 
LVL 11

Expert Comment

by:RgGray3
ID: 34942116
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
0
 
LVL 84
ID: 34942368
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.

0
 

Author Comment

by:kenabbott
ID: 34942613
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
0
 
LVL 84
ID: 34942699
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.

0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

932 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now