Runtime issues
"Failed to retrieve a COM class factory for component with CLSID...class not registered"
Problem
Error "Failed to retrieve a COM class factory for component with CLSID...class not registered"
The full error message is normally much longer than the above and is similar to the following:
"Retrieving the COM class factory for component with CLSID (2000D7A5-64F7-4826-B56E-85ACC618E4D6) failed due to the following error: 80040154 - class not registered. "
This error can be caused by compiling a .NET program for AnyCPU and trying to run it on a machine where only the 32-bit DLL has been registered.
This can happen with the STU or the Signature SDK.
The solution is either to change AnyCPU to x86 (the STU SDK only registers the 32-bit DLL) or to register the 64-bit DLL manually.
To register the 64-bit DLL manually please proceed as follows depending on which SDK you are using.
STU SDK
-
Install the SDK
-
Start a command prompt with Administrator privileges
-
Go to the directory where you have installed the SDK's DLL i.e. wgssSTU.dll.
-
Note that the installer puts the DLL in C:\Program Files (x86)\Wacom STU SDK\COM\bin\Win32 (or C:\Program Files\Wacom STU SDK\COM\bin\x64 on a 32-bit PC) but we recommend installing it somewhere else for the purposes of development and redistribution.
-
Run the following command from your elevated prompt:
regsvr32 wgssSTU.dll
Signature SDK
If you ran the 64-bit installer when you installed the SDK then the above COM class factory should not occur because the 64-bit installer registers the 64-bit DLLs.
If you ran the 32-bit installer, or the 64-bit installer without selecting the 64-bit components, then proceed as follows:
- Run the 64-bit installer and select the 64-bit components - this will register the 64-bit DLLs.
If for any reason you still want to register the 64-bit DLLs manually then start a command prompt with Administrator privileges and proceed as follows:
C: (if needed)
cd \Program Files\Common Files\WacomGSS
regsvr32 FlSigCapt.dll
regsvr32 FlSigCOM.dll
regsvr32 FlWizCOM.dll