PDA

Click to See Complete Forum and Search --> : Error 430


Harini
Sep 18th, 2002, 01:59 PM
I created an application using msado and mscomm object for a communication project. When I packaged it, it gave an error saying it couldn’t find dependency files for msado25.tlb. I chose to ignore it and packaged it. When installing, it gave an error at the end saying ‘Error while registering msado25.tlb’. I clicked ignore and installed. Of course, it worked fine on my system, which has the full Visual Studio installed. But on my client’s machine, it wouldn’t work. Generated error 430. I looked up 430 in msdn. It says it occurs for components compiled using project compatibility, that I should change to binary compatibility. But the only external components I am using are MSADO and mscomm. I know I can’t change the compatibility options for these in my application, so what do I do?

I even installed Visual Studio in his machine (no way a solution I know), but my code (Source Code itself) would not run. Could it be because his machine has an AMD processor and mine is Intel? When I ran the project, it gave this error message. I clicked debug and it went to the record set instantiating line.

This is what msdn says about error no. 430
SYMPTOMS
Instantiating a class within a server that has been previously compiled but is now running within the Visual Basic IDE, causes run-time error 430.
CAUSE
When a Visual Basic project is compiled with Project Compatibility, the CLSID remains the same while the IID changes for subsequent builds. Therefore, attempting to create the specific class in the "compatible" server generates the following error because the specific IID has changed and no longer exists:
Run-time error '430':
Class does not support Automation or does not support expected interface
RESOLUTION
Use BinaryCompatibility.

And why, when I reference MSADO library, vb uses the tlb file instead of the dll file? Should I explicitly distribute the dll file with the package? Which version then? And how do I solve the dependency problem with the msado25.tlb? Is that the reason for error 430?

I haven’t tried this app on other systems without vb. And the only option I have is a floppy disk, and believe me, I hate them. In fact I made two copies of my program today in 2 separate floppies. And neither would open in the other machine. I have come across this a lot of times.

This is a BIG query, I know, but I hope you people out there read it and help me. This is not a huge application in anyway, but I still had to spend a lot of time on it. And to have it working smoothly on my own system and completely hang in the target system – well I can’t express how it feels, but it is definitely not nice.
:)

MrPresident2k
Sep 20th, 2002, 12:47 AM
There is a problem with the Package and Deployment wizard. After u complete the package, open the setup.lst file and see how the tlb file is registered.

For Example your setup.lst will have this line

File11=@msado25.tlb,$(WinSysPath),$(TLBRegister),$(Shared),2/19/02 9:58:40

Try changing this to

File11=@msado25.tlb,$(WinSysPath),$(DLLSelfRegister),$(Shared),2/19/02 9:58:40

Pres.

Harini
Sep 20th, 2002, 08:12 AM
Thanks. I will try this out and let you know if it works.

ashay
Oct 18th, 2002, 07:03 AM
hi,

check this link

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q248404


we were having the same prob.....so we installed MDAC on the pc where we were having the probs.....n it started working fine....

regds,
ashay