Application unusable - VBAJET32.dll

List244
List244 used Ask the Experts™
on
I have an application - no source -- no installer. This application does run, however, it errors when trying to make use of it. The error is:

The Jet VBA file (VBAJET.dll for 16-bit versions, or VBAJET32.dll for 32-bit versions) failed to initialize when called. Try reinstalling the application that returned the error.

I've attempted to get this application working, but no luck. I do have a PC that can run the application. I ran it on that computer, tried dependency-walker, tried disassembling, and tried copying all the DLLs I could find this way, but no luck.

Any ideas?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Geoff BryanDeveloper

Commented:
VBAJET32.dll was part of the Microsoft Data Access Components (MDAC), although it is not included in the current version.

If you haven't got the file on your system, you can download the latest JET service pack at http://support.microsoft.com/kb/239114.

Installing this should register the dll on your system and allow you to run your application (unless there are other unregistered dll's that cause further errors.) Of course your error could be casued by the incorrect version of the file being on your system - it could be an older version of JET-  in which case you might be stuffed, unless you can find an old compatible copy!

If you already have the file in your Windows/System32 folder, try regietering it with 'regsvr32.exe vbajet32.dll' from a command prompt or the Run dialog.

Author

Commented:
---------------------------
RegSvr32
---------------------------
vbajet32.dll was loaded, but the DllRegisterServer entry point was not found.

This file can not be registered.


Being that I have the other computer that runs the application fine, is there any way I can see what version it is using and copy it over? I've had no luck as of yet.
Geoff BryanDeveloper
Commented:
Simply find the file on the other machine and right click it. Then click Properties and then the Version tab to check the version.

It can't do any harm to copy that file to the same folder on the new machine and see what happens. I suggest you rename the existing file on the new machine (to vbajet32.old perhaps) before overwriting it.

If that doesn't work I'm afraid there is not much else I can suggest.
Success in ‘20 With a Profitable Pricing Strategy

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Commented:
Okay, I used Ollydbg and was able to find each loaded DLL. From here, I copied each related to VB and DAO. It seems the one DLL that really made it work however was copying:

%Program Files%\Common Files\Microsoft Shared\DAO

Author

Commented:
Oh, and oddly, vbajet32.dll was not even copied, it was not necessary at all.
Geoff BryanDeveloper

Commented:
Glad you got it all sorted!!

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial