Consultor Eletrônico



Kbase P84349: Error "ClassFactory cannot supply requested class" accessing an Open Client ActiveX DLL
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   1/13/2009
Status: Verified

SYMPTOM(s):

Error "ClassFactory cannot supply requested class" accessing an Open Client ActiveX DLL

Error "ClassFactory cannot supply requested class" using a DLL generated by ProxyGen

ClassFactory cannot supply requested class

Microsoft Java Virtual Machine (MS JVM) installed; JVIEW command returns results

CLASSPATH is set as a System environment variable and points to an Open Client Runtime Package

O4GLACTIVEX.DLL is properly registered

Open Client DLL is properly registered

Error occurs when instantiating the Open Client DLL, before any methods of the object are called

Progress RoundTripTest.exe fails with the same "ClassFactory" error

Open Client DLL can be used properly on other machines

FACT(s) (Environment):

Progress 9.1x
Windows

CAUSE:

Although MSJAVA.DLL was present in the System32 folder on the machine (hence the success of the JVIEW command), related Class files were missing.

It would appear that the MS JVM installer detected MSJAVA.DLL and so took this to mean that the MS JVM was already fully installed. Therefore the Class files were not installed even when the MS JVM installation was re-run.

FIX:

To resolve the issue:

1) Locate MSJAVA.DLL (normally in %WINDIR%\SYSTEM32) and rename it to MSJAVA.DLL.OLD

2) Run the MSJAVAX86.EXE to reinstall the MS JVM

3) Reboot the machine for the changes to take effect

4) Re-test the Open Client DLL

If problems remain or a new error occurs, then rename the newly installed version of MSJAVA.DLL and replace it with the original version.