COM cannot locate a provider referenced in the schema. This error may be caused by any of the following: The provider is ...

COM cannot locate a provider referenced in the schema. This error may be caused by any of the following:

The provider is using a WMI DLL that does not match the .lib file used when the provider was built. 

The provider's DLL or any of the DLLs on which it depends is corrupt.
 
The provider failed to export DllRegisterServer. 

An in-process provider was not registered using the regsvr32 command. 

An out-of-process provider that was not registered using the /regserver switch. For example, myprog.exe /regserver.