There are 2 supported mechanisms for using the Geosoft GX API in an external application. The first (default) mechanism relies on an existing installation of Geosoft Desktop Applications being installed on the system. The second mechanism requires the installation and setup of a redistributable package. Each is described in a separate section below.
...
Applications that use this mechanism requires either Geosoft Viewer or Oasis montaj installed. A handful of thin wrapper dlls need to be placed next to your application binaries. These dlls take care of the redirection of API calls to the desktop platform where the functionality is implemented. The versioned redist dlls are available in the GeosoftInc/gxcore Github repository.
The API is serviced from the application via a number of small wrapper dlls. Under normal circumstances this is all that should be needed for the system to work. The default "Core" Geosoft registry keys (under HKEY_LOCAL_MACHINE\SOFTWARE\Geosoft
) will be read to detect the location of the application binaries. If not a geosoft.key
text file can be placed next to the dlls. This file should contain a single line containing the alternative registry key. Usually this will be done to target a Geosoft Beta or Pre-Release instance.
...
At this point any GX API that the signed-in Geosoft ID is entitled to via a Desktop Applications install should be available. There are two standalone redistributable packages available (9.7 8 release packages can be found here).
- Minimal - This contains a minimal set of binaries to support read and writing Geosoft formats, but also a large portion of the core algorithms (depending on entitlement) etc. This distribution does not contain any third-party format support, GX binaries or any UI mechanisms.
- Full - This is basically a full Oasis montaj package (except for anything that requires the 32-bit interop layer like ER Mapper, ArcGIS ArcEngine etc.). Even the montaj application binaries can be found and run (subject to Geosoft ID entitlement) from the bin directory. There are methods in the gxpy Python APIs that use these as document viewers.
Standalone Use via GXPY
In version 9.6 the standalone gxpy Python setup.py mechanism was changed (compared to the 9.5 mechanisms). Instead of using the 'python setup.py install'
mechanism to embed the redistributables they can be installed externally and the paths can be configured at runtime via new parameters passed to the gxpy.gx.GXpy constructor: