After building an ATL module, it registers fine on the machine it is built on. On other machines, it gives different errors (GetLastError) depending on the machine. Even on a machine with the same version of VC++ (6.0), the dll gives an error (0x3eb - access violation). That machine has atl.dll and comcat.dll, the two dlls I know are needed because of CoCreate calls made from within the code.

Has anyone else experienced atl registration problems like this? If so, would you care to share how this problem was fixed?