Troubleshooting Windows errors can seem like an impossible prospect. However finding the solution to the (Class not registered) error message is easier than you think. Check out our how-to guide for resolving this common Registry problem.
If you are registering an ATL server, you may see this error code. In the case of DLLs, regsvr32.exe will generate this error. In the case of EXEs, calling _Module::RegisterServer (CComModule::RegisterServer) in _tWinMain() will generate this error.
Three things you can do when Class not registered
This error is generated with ATL70.dll is not installed or registered. In Visual Studio 6.0 or before, the ATL runtime can be found in the ATL.dll. If you are using this version, use ATL.dll instead of the Visual Studio .NET version. Both UNICODE and ANSI versions of ATL70.dll and ATL.dll exist. Install the appropriate one on your operating system. Use the UNICODE version for Windows NT, or the ANSI one for Windows 95 or Windows 98.
Install ATL70.dll in the Windows\System or Winnt\System32 directory. It is not necessary to register ATL70.dll, but if you do, you must register it with Regsvr32.exe.
Alternately, you may choose not to use ATL.dll, and instead, when you rebuild the ATL server with the build target: ReleaseMinDependency, the ATL.dll code will be linked to your project. This applies only to Visual Studio 6.0 or earlier, as Visual Studio .NET does not use the MinDependency target.
TipFor more information, please see: How to fix Registry error #0x80040154