How can I detect the type of a dll? (COM, .NET, WIN32)
DllRegisterServer is not required, the only required export for a COM dll is DllGetClassObject
You must check the PE Header of these files. All DLL and executables, Win32 and .NET, have a PE header.
An In-Depth Look into the Win32 Portable Executable File Format
The .NET File Format
Portable Executable