Archicad C++ API
About Archicad add-on development using the C++ API.

Add-on doesn't work on windows

Anonymous
Not applicable
Hi all,

I have a very strange error with ArchiCAD 17 on windows only. In the "Extension Manager", when my add-on is loaded, the following message is displayed:

“This file is an old Add-On, it cannot be used on this ArchiCAD version”

I don't really understand because i compile with visual studio 2010 and the API 17 Development Kit 17.3002.

If somebody has encountered this error, can tell me how to proceed to correct.

Thanks
4 REPLIES 4
Ralph Wessel
Mentor
atila-diffusion wrote:
I have a very strange error with ArchiCAD 17 on windows only. In the "Extension Manager", when my add-on is loaded, the following message is displayed:
“This file is an old Add-On, it cannot be used on this ArchiCAD version”
That error message doesn't mean anything more than, "something went wrong when trying to load the add-on".

First check that the correct resources are loaded, e.g. the MDID. Then check that it links against the correct libraries.
Ralph Wessel BArch
Anonymous
Not applicable
Hi Ralph,

What is 'e.g. The MDID' ??

So i tried my add-on on two others computers, it works...
But it still doesn't work when i tried on any computer.

Thank.
Karl Ottenstein
Moderator
Each add-on contains a number of *.grc resource files ("Graphisoft Resource Compiler"). One of these files defines the MDID resource to identify the add-on. This consists of a Developer ID and a Local ID (add-on ID). The Developer ID is assigned to you by Graphisoft. Without a proper MDID, the add-on should still load ... but ONLY if you launch AC in Demo Mode (no keyplug installed).
One of the forum moderators
AC 27 USA and earlier   •   macOS Ventura 13.6.6, MacBook Pro M2 Max 12CPU/30GPU cores, 32GB
Ralph Wessel
Mentor
atila-diffusion wrote:
What is 'e.g. The MDID' ??
So i tried my add-on on two others computers, it works...
But it still doesn't work when i tried on any computer.
Karl has covered the MDID question. If it works on some computers but not on others, then we have to look elsewhere. The most likely culprit is a VS runtime mismatch. There are multiple versions of the VS 2010 runtime. If the build version doesn't match the runtime version, it can prevent the DLL from loading. Take a look here.
Ralph Wessel BArch