Link to home
Start Free TrialLog in
Avatar of cindyb63
cindyb63

asked on

VB6 compile on Win 7 gets 'Class does not support automation' when run on XP

Experts...

I am moving to a new Win 7 32 bit computer with VB6. We have a large app consisting of 60 compiled modules. We are using ADO 2.6, SQL Server and numerous tools such as VSFlexGrid7. The source code runs, in test mode, under either XP or Win 7 without errors. The VB6 Project Components and References are identical on the XP and the new WIndows 7 computer.

Programs compiled on XP run fine on XP, Vista and Windows 7. However when I compile a module on Windows 7 and try to run it on an XP computer I get 'Class does not support Automation or does not support expected interface'.

I'm thinking the Win 7 compiled module is using links to Windows 7 modules such as stdole2.tlb, oleaut32.dll or oldpro32.dll. When it goes to run on XP the interface is different and the error results. If so... what modules to I need to replace on my Windows 7 computer to fix this problem?

I did a Google browse and this appears to be a major problem with Windows 7 compatibility.

Please help.
ASKER CERTIFIED SOLUTION
Avatar of Dana Seaman
Dana Seaman
Flag of Brazil 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 cindyb63
cindyb63

ASKER

I had a terrible time registering the msado60_Backcompat_i386.tlb. I generally like the Win 7 UI but the access to the Run Commend and the utilities are not as good as XP. I downloaded .NET 4.0 in order to get the regtlibv12.exe but it would not register the type lib. I finally found a simple tip to Browse using the VB6 References and select the type lib, which worked.  I compiled on Win 7, copied the EXE to XP and it ran.

This needs to be widely distributed as I'm sure there are many VB6 ADO users moving to a Win 7 computer.

I'm glad you knew the fix as the Google search only showed many frustrated VB6 users.