Custom GXs in Oasis montaj 9.0 FAQ

How are custom programs that depend on the Geosoft installation and the GX API affected by v9.0?

Custom programs are stand-alone programs that link to the GX API 8.5 or earlier.  These programs will continue to work unchanged provided they include the linked DLLs as part of their installation.  Refer to https://geosoftgxdev.atlassian.net/wiki/display/GXD85/Using+the+GX+API+Externally for more information if necessary.
 
Can I use custom menus created in v8.5 in v9.0?

Yes, menus (omn files) that load in v8.5 will load in v9.0.  However, there are differences in the folder structure between versions, and all custom menus for v9.0 must be located in folder:

C:\Program Files\Geosoft\Desktop Applications 9\user\omn

If you have custom menu file installed with v8.5, when you install v9.0 the custom menus will be moved to the new location.
The menu manager is v9.0 clearly distinguishes User Menus (custom menus) from Geosoft menus.  User menus, which are those found in the  ..\user\omn folder are now listed under the "User Menus" branch of the Manage Menus control.
 
When I upgrade from v8.5 to v9.0 will my custom GXs and menus be installed as part of the upgrade or will I need to reinstall them separately?

All custom menus that are located in the ../user/omn folder of your v8.5 installation will automatically be copied to the new 9.0 install folder ../user/omn.

Custom GXs that are located in the v8.5 installation folder ../gx will be copied to the 64-bit install folder ../gx folder of the v9.0 installation. However, custom DLLs and EXEs located in the v8.5 ../bin folder will not be copied to the v9.0 installation.

Note that we have discontinued the Custom Resource Pack Generator Tool in the v9.0 version and existing resource packs will not install in the v9.0 version.
 
Where do I place the custom files: OMN, GX, GX.NET and DLL?

Oasis montaj v8.5 was installed in C:\Program Files (x86)\Geosoft folder, and all resource files, which include menus, GXs and associated .NET and DLL files, were located in the appropriate section of the C:\Program Files (x86)\Geosoft\resourcefiles folder.

The 64-bit components of Oasis montaj v9.0 are installed in C:\Program Files\Geosoft\Desktop Applications 9, and legacy 32-bit components, which mainly include third-party extensions and related 32-bit DLLs, are installed in  C:\Program Files (x86)\Geosoft\Desktop Applications 9. All user custom files for 9.0 are installed in the the relevant sub-folder of C:\Program Files\Geosoft\Desktop Applications 9\user\.
 
Do all  custom GXs and DLLs need to be recompiled for v9.0?

GX's that are developed using only the Geosoft GXC language, and compiled with the Geosoft GXC compiler will work in both v8.5 and v9.0.
GX's that depend on an external DLL require that the external DLL be recompiled as a 64-bit DLL, and the DLL must be placed in:
C:\Program Files\Geosoft\Desktop Applications 9\bin
 
When will GX Developer 9.0 be released?

A preliminary GX Developer 9.0 is available on the Geosoft download page here:

https://my.geosoft.com/downloads

This version includes what is required to recompile and re-link DLLs and stand-alone programs that must work with Oasis montaj 9.0 and/or the Oasis montah 9.0 GX API. See https://geosoftgxdev.atlassian.net/wiki/spaces/GD90B/overview for more information.

If your workflows depend on custom 32-bit DLLs that cannot be recompiled as 64-bit DLLs, you should not upgrade to v9.0.  If you have already upgraded to v9.0, you will need to uninstall v9.0 and reinstall v8.5 and your custom menus, GXs and DLLs.

We are working on GX Developer 9.1, which includes a new complete 64-bit GX API and support for 64-bit Python scripts that can be run directly from an Oasis montaj menu.  This more complete GX Developer release will be available in Q4, 2016.

Notes

If your workflows depend on custom 32-bit DLLs that cannot be recompiled as 64-bit DLLs, you should not upgrade to v9.0.  If you have already upgraded to v9.0, you will need to uninstall v9.0 and reinstall v8.5 and your custom menus, GXs and DLLs.