API Support Forum
OEC API > API Support > typelib missing
Author Topic: typelib missing
(4 messages, Page 1 of 1)
Moderators: VPfau
WWatson2582
Posts: 38
Joined: May 03, 2018


Posted: Nov 06, 2018 @ 06:27 PM             Msg. 1 of 4
I am updating support of the newest API release for our unmanaged c++ application. I have noticed that there is no OECAPICOM.tlb file shipped with this release, and I cannot register the OECAPICOM.dll nor build the c++ sample application . I'm also not able to generate a .tlb file from the .dll, nor register it using regasm.exe. My computer is running Windows 10 and I am running regasm from an elevated (adminstrator) command prompt.

The Visual Studio error message is:
error C3506: there is no typelib registered for LIBID '{B187D28F-F936-408a-9EC7-2B1A0637F364}' c:\oec api com 3.5\samples\cpp\stdafx.h 74(Line) 1(Column) CppCOMSample(Project)

The regasm.exe error message is (using options /codebase and /tlb):
RegAsm : error RA0000 : Could not load file or assembly 'API, Version=3.5.14.52, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)

Am I missing something simple here?
WWatson2582
Posts: 38
Joined: May 03, 2018


Posted: Nov 07, 2018 @ 08:20 AM             Msg. 2 of 4
I should add that with a previous 3.5 version, downloading and installing the OECAPICOM archive did not automatically register the OECAPICOM.dll library, so we manually used regasm.exe to register that .dll which resulted in a registry entry at keys:
HKEY_CLASSES_ROOT\TypeLib\{B187D28F-F936-408A-9EC7-2B1A0637F364
which had sub-keys that pointed to the .dll file's absolute path. This allowed the:
#import "libid:B187D28F-F936-408a-9EC7-2B1A0637F364" // OEC API
line in the sample application's "stdafx.h" header file to find the library and not throw the Visual Studio error message cited in the previous message

And this is where I am unable to proceed - trying to register the most recent OECAPICOM.dll version on a machine which had never had the previous version installed results in the "strongly-named assembly is required" error message cited in the previous message and there is no registry entry made. I can still register the previous version of OECAPICOM.dll so I suppose I could do that and then replace it with the newer version, or I could create the registry keys manually, but neither of these are desirable for our application's installer distributed to customers.

I think the proper solution is a strongly-named OECAPICOM.dll for the current version that can be registered with regasm.exe unless there is some other method you want us to use.
ETrifonov
Posts: 63
Joined:


Posted: Nov 07, 2018 @ 11:51 AM             Msg. 3 of 4
Hello WWatson2582,

Please update to fresh OECAPICOM 3.5.14.53
https://gainfutures.com/onelink/documentation

Thank you.
Evgeny
WWatson2582
Posts: 38
Joined: May 03, 2018


Posted: Nov 07, 2018 @ 12:28 PM             Msg. 4 of 4
That did the trick - thanks for the fast response!