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

Can't use Add-on compiled with API 17 on ArchiCAD17

Anonymous
Not applicable
Hello all !

I have a very strange error with ArchiCAD 17 :
In the "Extension Manager", on my add-on i have this message error :
"This version of this add-on is old for this version ArchiCAD" 😮

I don't understand because I compil the add-on with API 17

My situation :

I have three computer :
- First : Windows 8 64Bits - ArchiCAD 17 HotFix 4008 - Add-on works (I compiles thereon)
- Second : Windows 7 64Bits - ArchiCAD 17 HotFix 4008 - Add-on works
- Last : Windows 7 64Bits - ArchiCAD 17 HotFix 4008 - Add-on doesn't works

I don't really understand where is the source of the error.
6 REPLIES 6
Ralph Wessel
Mentor
atila-diffusion wrote:
Hello all !

I have a very strange error with ArchiCAD 17 :
In the "Extension Manager", on my add-on i have this message error :
"This version of this add-on is old for this version ArchiCAD" 😮

I don't understand because I compil the add-on with API 17

My situation :

I have three computer :
- First : Windows 8 64Bits - ArchiCAD 17 HotFix 4008 - Add-on works (I compiles thereon)
- Second : Windows 7 64Bits - ArchiCAD 17 HotFix 4008 - Add-on works
- Last : Windows 7 64Bits - ArchiCAD 17 HotFix 4008 - Add-on doesn't works

I don't really understand where is the source of the error.
I may know the answer to that (courtesy of Ákos Somorjai). There are 2 versions of the VS 2010 runtime, the original and SP1. If you build an add-on with VS 2010 (SP1), it own't load on workstations that don't have the SP1 runtime installed.
Ákos wrote:
One issue has come immediately into my mind: the VS runtime. One of the service packs updated the C runtime; any add-on compiled on such machine would depend on the newer version. If I remember well this was the one: http://www.microsoft.com/en-us/download/details.aspx?id=13523
ArchiCAD doesn't require the SP1 runtime, so it isn't necessarily installed.
Ralph Wessel BArch
Software Engineer Speckle Systems
Anonymous
Not applicable
It was a good idea but on the third computer I have the same configuration like others : Microsoft Visual C++ 2010 x64 Redistributable was installed and more the SP1. I try to unistall the SP1 on all computer, compiles the add-on, I test, I have the same result at the begenning.

I thought the framework .net 4.5 was the solution but it was installed on all computers...

Otherwise, when I compiles on my second computer and I put the add-on on ArchiCAD (the third) I have the following message in the extension manager: "This extension can not be validated, contact the distributor" ??
On the first computer no error add-on works.

I just bought the third computer, it is new, there is only ArchiCAD 17 software installed. For the antivirus, I use Microsoft Security, I have try to disable this and I test...

No way, ArchiCAD 17 same error : "This version of this add-on is old for this version ArchiCAD"
Ralph Wessel
Mentor
atila-diffusion wrote:
It was a good idea but on the third computer I have the same configuration like others : Microsoft Visual C++ 2010 x64 Redistributable was installed and more the SP1. I try to unistall the SP1 on all computer, compiles the add-on, I test, I have the same result at the begenning.
I still think a missing dependency is at the heart of this (aka DLL hell). How about checking the add-on dependencies using The Dependency Walker? This should pinpoint any missing requirements.

Also check that you haven't inadvertently included any VS debug libraries that won't be on the end-user machine.
Ralph Wessel BArch
Software Engineer Speckle Systems
Anonymous
Not applicable
Hello !

I have verified that no library were included, in addition, the last machine has just been purchased.

I going to use Dependacy Walker and check it.
But i don't really understand how to use the result of Dependacy Walker. The add-on need many ddl but I do not understand what it is.
Ralph Wessel
Mentor
atila-diffusion wrote:
But i don't really understand how to use the result of Dependacy Walker. The add-on need many ddl but I do not understand what it is.
It will list all the dependencies in the DLL and highlight any that can't be found. Missing dependency = "outdated add-on".
Ralph Wessel BArch
Software Engineer Speckle Systems
Anonymous
Not applicable
On my two main computers where the add-on work, I have this message follow : At least one required implicit or forwared dependency was not found
And module miss are : DG.DLL, GSROOT.DLL, GSUTILS.DLL, INPUTOUPUT.DLL.

But In my project on Visual Studio 2010 > Solution Explorer, I have :

- DGlmp.lib
- GSRootlmp.lib
- GSUtilslmp.lib
- InputOuputlmp.lib