ATL COM DLL REGISTER ERROR 0x80070716

3

I am getting an error 0x80070716 when regsvr32 is done with the ATL Dll x64, under Win7 x64.

I made a search before putting the question, and verfying with some threads in other web sites like this one http://www.tek-tips.com/viewthread.cfm?qid=1085835 and an other one here it is http://forums.codeguru.com/printthread.php?t=366207. But those threads have not solve my problem.

Please let me know if anyone could help me.

visual-studio-2012
com
atl
regsvr32
asked on Stack Overflow Oct 28, 2014 by FreeDev • edited May 18, 2015 by Alexander Revo

2 Answers

8

Another possible reason for such error is missing entries for .rgs files in your resource file, i.e. <my_library>.rc

Each .rgs file must be referenced in REGISTRY section of <my_library>.rc like this:

IDR_MYRESOURCE REGISTRY "myresource.rgs"

To open your .rc file in text mode, use "View Code" command in its context menu in Solution Explorer.

answered on Stack Overflow May 18, 2015 by Alexander Revo
5

I will share my solution, maybe it will help some one in the future:

1) Select the "ResourceView" tab in the Workspace Menu Bar.

2) Right click on the resource folder for the component that is failing to register.

3) Select the "Resource Symboles..." menu option.

4) Remove all unused symboles and close.

When I build the project I get error error C2065: IDR_<MYWrongIDRegistryClass> : undeclared identifier; in DECLARE_REGISTRY_RESOURCEID so :

5) Replace IDR_<MYWrongClass> with the IDR_<MYCorrectIDRegistryClass>.

These steps make my ATL COM DLL registred successfully after I made build.

Hope this will help anyone that faces the same problem.

answered on Stack Overflow Oct 29, 2014 by FreeDev

User contributions licensed under CC BY-SA 3.0