Hi!
The "official approach" here has always been a bit unclear to me, and now I remembered to ask!
Background: We build multiple import & export routines to/from our GIS application that is using MapInfo as its map engine. E.g. importing details daily from customer or billing systems into MapInfo tables, etc. so that we can integrate this data into our application. In MapInfo 15 and older, we interfaced via its MapInfo COM object (MapInfo.Application/Runtime). This meant multiple routines in their own file folders and also our main GIS application itself could all share a single MapInfo Runtime install on the respective client systems.
With MapInfo 16 (64 bit) and onwards, MapInfo rather seem to be meant to run "in-process" and not by using a COM object. For example, you build a .NET application with a reference added to MapInfo.Application.dll and so on.
The problem: To actually run our applications, it now needs to basically have
all the DLL's of MapInfo (and more!) in our application folder or it'll complain upon startup. It doesn't even run if we just leave it with what Visual Studio detected as dependent files. We need to pull in even more, basically everything. And if we need one of those small daily routines that depends on MapInfo, these need essentially the entire MapInfo folder too. So we're talking ~700 MB data for each separate use of MapInfo here! In the 'Samples' that come with MapInfo, this is solved by compiling Integrated Mapping tools into the MapInfo Program Folder itself. This is frowned upon in Windows since it's not very friendly due to User Access Control and we really don't want to litter that folder with
our applications and services within the MapInfo folder!
My question: Is there any way to e.g. give a path to where our applications should look for the MapInfo dependent files so they can be shared? This could help us save gigabytes of storage space per client. I'm not even sure how this works out for MapInfo licensing. Currently we just distribute the same MapInfo Runtime install (copy & pasting the files) into each folder where it's needed per client.
------------------------------
Jonas Nordlund
Software developer
Norconsult AB
Sweden
------------------------------