Я работаю с двумя проектами COM на базе ATL.
Оба реализуют DllRegisterServer
как просто
STDAPI DllRegisterServer(void)
{
// registers object, typelib and all interfaces in typelib
return _Module.RegisterServer(TRUE);
}
, что в итоге вызывает
::RegisterTypeLib(pTypeLib, bstrPath, szDir);
в atlbase.h: 6516.
Но по какой-то причине этот вызов заставляет один из проектов создать
HKEY_CLASSES_ROOT\TypeLib\<guid>\<version>\0\win64
при регистрации с использованием regsvr32.exe в Windows 7 32-разрядная версия.
Другой проект правильно создает
HKEY_CLASSES_ROOT\TypeLib\<guid>\<version>\0\win32
.
С чего мне начать искать, чтобы найти и исправить это поведение?