Copy link to clipboard
Copied
Dear Community,
The question in short: is there a way to build the source code of an application that relies on IDServer on a machine where IDServer is not installed?
The situation in more detail:
Our company has an InDesignServer and we are developing a webservice that uses the services of the IDServer. We are running Windows 10 and the software is developed in .Net.
When setting up a project in Visual Studio, to develop for the InDesignServer, we can add a COM type liberary reference to the InDesignServer namespace, everything works smoothly as long as we are doing this on the machine where InDesignServer is installed.
The problem is that we cannot have an IDServer installed on all of the developer machines and throughout the continuous integration pipeline, but we need the our code builds on all of these machines. Back in the old days this was doable by registering the Resources for Visual Basic.tlb file using regtlibv12, however this tool is discontinued for a long time by Microsoft. The currently accepted way of doing things is by using the tlbImp Type Liberary Importer Tlbimp.exe (Type Library Importer) | Microsoft Docs
If we run tlbImp on the aforementioned tlb file, we get an output dll with a bunch of warnings like this:
TlbImp : warning TI3011 : Type library importer has encountered an interface not derived from IUnknown: '_Application'. The interface is skipped.
TlbImp : warning TI3008 : Type 'Application' is invalid and may only be partially converted.
TlbImp : warning TI3008 : Type 'Application' is invalid and may only be partially converted.
TlbImp : Type library imported to f:\Code\InDesignServer.dll
At the end we do get an assembly that contains the proper namespace, but every type is missing from it, as they are not derived from the IUnknown. When we add the com reference to this dll, we get build errors due to the missing types.
Can someone advise on how to avoid this problem?
Best regards,
Sándor Kolumbán
Hi Hemi,
Thanks for the reply but unfortunately migrating our full application from COM to SOAP is not an option.
We managed to dig up regtlibv12 from the bottom of the web and magically it still works on windows 10, but it is not supported. For the time being we are ok, but I wonder when this compatibility will break...
So just to have a sort of answer for future interested parties: regtlibv12 works on Windows 10 as well, if you can manage to find a copy of it.
Best regards,
Sándor
Copy link to clipboard
Copied
Hi Sándor,
Instead of COM, just go with SOAP.
Thanks,
Hemi
Copy link to clipboard
Copied
Hi Hemi,
Thanks for the reply but unfortunately migrating our full application from COM to SOAP is not an option.
We managed to dig up regtlibv12 from the bottom of the web and magically it still works on windows 10, but it is not supported. For the time being we are ok, but I wonder when this compatibility will break...
So just to have a sort of answer for future interested parties: regtlibv12 works on Windows 10 as well, if you can manage to find a copy of it.
Best regards,
Sándor
Copy link to clipboard
Copied
Hello Sandor, did you manage to get a more solid solution ? same problem here...
where did you find this ol utility ? (a link?), i can't find any legacy computer here, and can not find this exe online.
thanks a lot,
Luc
Copy link to clipboard
Copied
@inzenet Sorry, for some reason I did not realize that there was a comment on my post. I did not find any better solution than having that dll. I have no public link to that file, but if you are still itnerested, I can send it to you.