Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Class doesn't support automation or doesn't support expected Interface

Status
Not open for further replies.

rnathan

Programmer
Jun 27, 2002
41
US
Hi

I need some help with the following error:

Class doesn't support automation or doesn't support expected Interface: Error 430

I have developed this dll and added into my VB application. When I installed the application on user's workstation the very first time, the users were able to access the dll without any problem. But I had to make some changes to my program (not to the dll). I created a new exe and uninstalled the old one and re-installed the new one on user's workstation. When the users access the dll, that is the time they get this error message. I am using VB 6.0 (SP5) and the platform is NT 4.0. Thanks in advance.

Rita
 
It sounds like you have somehow changed the dll's interfaces, possibly through the project's compatibility setting rather than a coding change.

Once the dll has been compiled, if you set version compatibility to binary, specifying the dll you just compiled, it will ensure that interfaces don't change.

What you could do is start over by setting it to no compatibility and compiling the dll again. Then compile the exe and reinstall both on all user's systems. Before reinstalling, I would unregister the old dll with regsvr32 /u

Paul Bent
Northwind IT Systems
 
Paul,

I followed your suggestion by setting the Version Compatibility to No Compatibility and compiled the dll again. Recreated the exe with the newly compiled dll and installed it on user's workstation after unregistering the old dll. The problem that I ran into this time was after installing the new exe, I checked the date of the dll. It still had the old date on it. The application still gave me the error message. I renamed the old dll and reinstalled the app, ran the app with the new dll, no problem accessing the dll. My current problem is how would you replace the old dll with the new one. I am using PD wizard for creating the exe.

Thanks

Rita
 
I don't use PDW myself but it should be set (how I don't know) to replace a file if the existing one is same or older. That way a reinstall would repair a corrupted file.

Did you increment the dll's version number? If you didn't, maybe that's why PDW didn't replace it. Another possibility was that the dll was in use but the installation program should have prompted to reboot afterwards if that was the case.

Paul Bent
Northwind IT Systems
 
I incremented the version number, compiled again and created a new exe. That didn't solve the problem either. I wasn't using the version number before. I also made sure that the dll is not in use during installation. Anyway, thanks for your suggestions. I'll probably post this issue in Microsoft's PDW forum.

Rita
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top