Unable to register ATL objects

Unable to register ATL objects

Anonymous
Not applicable
475 Views
4 Replies
Message 1 of 5

Unable to register ATL objects

Anonymous
Not applicable
Hi,



I have a Acad2002 ATL application wich has run without problems until I installed Acad2004.

From that point on it can't register its ATL objects, even if I use a version wich I created before installing Acad2004.



FAILED(_Module.RegisterServer(TRUE)) == true



I created for the Acad2004 version of my app new guid's and renamed the library to version 2, so there are no conflicts as far as I can see.

Also I removed all the application entries from the registry but still it will not register my objects, also on machines on wich no .net compiler is installed.



Does anyone know what can cause this problem?, thanks



Gertwin Groen
0 Likes
476 Views
4 Replies
Replies (4)
Message 2 of 5

Anonymous
Not applicable
I have no specific suggestion, but have you tried
monitoring registry access during the registration process using regmon (
href="http://www.sysinternals.com">www.sysinternals.com
). This should show
you where the failure is happening.


Cheers,

 

Stephen Preston
Developer Technical Services
Autodesk

href="http://adn.autodesk.com">http://adn.autodesk.com

 

 


style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
Hi,

I
have a Acad2002 ATL application wich has run without problems until I
installed Acad2004.
From that point on it can't register its ATL objects,
even if I use a version wich I created before installing
Acad2004.

FAILED(_Module.RegisterServer(TRUE)) == true

I created
for the Acad2004 version of my app new guid's and renamed the library to
version 2, so there are no conflicts as far as I can see.
Also I removed
all the application entries from the registry but still it will not register
my objects, also on machines on wich no .net compiler is
installed.

Does anyone know what can cause this problem?,
thanks

Gertwin Groen
0 Likes
Message 3 of 5

Anonymous
Not applicable
Does your type library (idl) import any AutoCAD type libraries?

"ggr" wrote in message news:f169d43.-1@WebX.maYIadrTaRb...
> Hi,
>
> I have a Acad2002 ATL application wich has run without problems until I installed Acad2004.
> From that point on it can't register its ATL objects, even if I use a version wich I created before installing
Acad2004.
>
> FAILED(_Module.RegisterServer(TRUE)) == true
>
> I created for the Acad2004 version of my app new guid's and renamed the library to version 2, so there are no
conflicts as far as I can see.
> Also I removed all the application entries from the registry but still it will not register my objects, also on
machines on wich no .net compiler is installed.
>
> Does anyone know what can cause this problem?, thanks
>
> Gertwin Groen
0 Likes
Message 4 of 5

Anonymous
Not applicable
No, I don't use any acad type libraries.

My atl objects are simple wrappers around common use C++ objects wich I can call from lisp.



In atlbase.h there is a function: AtlModuleUpdateRegistryFromResourceD

Inside that function it tries to create a pointer to a IRegistrar interface (CoCreateInstance(CLSID_Registrar, ...)

The creation of that pointer fails.

If I monitor the registry calls it says it can't find open the registry key for CLSID_Registrar (defined in atlbase.h).



Strange is that in acad2004 registration of my atl objects goes well and the clsid for IRegistrar is the same in vc7 and vc6.



Gertwin Groen
0 Likes
Message 5 of 5

Anonymous
Not applicable
I solved the problem.



The registration process needed an object IRegistrar wich it could not create.
The IRegistrar interface is in the atl.dll.

After registering the atl.dll everything is as before.



I don't know what caused this, mayby it was the installation of the atl70.dll wich is now on my system after Acad2004 and VC7 installation.



Gertwin Groen
0 Likes