Article ID: 193172 - View products that this article applies to.
This article was previously published under Q193172
When the project type of an ActiveX server is changed from DLL to EXE and recompiled, any client code that attempts to create an instance of an object from the server generates the following error:
"Run-time error '430' : Class does not support Automation or does not
support expected interface."
The error results from project compatibility and the change of the project type from DLL to EXE. In project compatibility, Visual Basic preserves the Class ID (CLSID) of the class but not the Interface ID (IID). Because the CLSID is preserved, the class ends up being registered with two servers; the in-proc server (DLL) and the local server (EXE). As you create an instance of the class from a client, the class from the DLL is chosen. Because the class from the DLL does not support the new IID, the above error occurs.
Use the RegSvr32.EXE utility to unregister the old DLL server and re- register the new EXE server to eliminate this error.
Microsoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
Steps to Reproduce Behavior