gmStudio Extensions

gmStudio's code analysis and translation capabilities may be extended and modified through various rules files and scripts.  These custom transformation are specified using various types of configuration files that extend and modify the definitions of language and API elements and also allow activating dynamic translation rules.  This page contains samples of these configuration files.  The concepts and techniques for creating and using these customizations are described in other articles:

A collection of sample rules files and script is cataloged here; you may download these and experiment with them in your environment.   You may visit the full list of gmStudio Extension files in the attachments to this page.   Please Contact Us or post your questions here.

API Migration Rules Files (RefactorLibraries)

Migration Rules Files (RefactorLibrary Files) are the preferred means of mapping a COM API to its replacement in .NET.   

Best practice is to load an API Migration Rules file using a registry-migfile command, however they can be loaded by convention when by naming the migration file mig.libfile.xml (for example mig.scrrun.dll.xml will be loaded automatically for codes that references scrrun.dll.xml).    The file mig.vb7lang.xml is a special case: it may be used to modify the mapping of VB6/ASP language elements to  .NET. 

The recommended naming convention for these files is libfile.[target].Refactor.xml where libfile is the name of the type library (e.g. scrrun.dll) \[target] is a user-defined descriptive name.  For example scrrun.dll.SystemIO.Refactor.xml contains rules for migrating scrrun.dll (Scripting Runtime) to System.IO.  Which may be activated with a registry command.

<registry type="MigFile" source="scrrun.dll" target="scrrun.dll.SystemIO.Refactor" /> or <registry type="MigFile" source="scrrun.dll" target="..\usr\scrrun.dll.SystemIO.Refactor.xml" />

Note: the first example above uses Metalanguage file path resolution and will look through the metalanguage folders for a .XML file.  The second example uses an actual file path specification relative to the working folder.

Custom Interface Description Files (IDFs)

Custom IDFs allow you to migrate COM APIs to .NET replacements. This is a powerful and fairly intuitive technique, but it is not as maintainable as Migration Rules files. 

The gmStudio samples use custom IDFs files, but this approach will be phased out in favor of using Migration Rules  files. See Custom COM Replacement.

gmSL Scripts

gmSL scripts may be used to implement dynamic translation rules for various COM migrations in concert with custom IDFs and RefactorLibrary files.  gmSL Scripts may also be used for special purpose analysis and transformation on their own.  Learn more about gmsl here: gmSLIntroduction. 

Note we also offer a .NET API that has all of the power of gmSL and may be used to build custom translation engines as .NET executables.   

  File Modified

File comdlg32.OCX.Wrapper.gmsl

Nov 30, 2021 by Mark Juras

File Comsvcs.dll.ServiceMethods.gmsl

Nov 30, 2021 by Mark Juras

File GlobalIncludes.gmsl

Mar 23, 2023 by Mark Juras

File gm.mscomctl.gmsl

Nov 30, 2021 by Mark Juras

File gm.mscomctltransform.gmsl

Nov 30, 2021 by Mark Juras

File gm.msflxgrdtransform.gmsl

Nov 30, 2021 by Mark Juras

File gm.msmasktransform.gmsl

Nov 30, 2021 by Mark Juras

File GM.msrdo20Transform.gmsl

Nov 30, 2021 by Mark Juras

File GM.tdbg6.ocx.gmsl

Nov 30, 2021 by Mark Juras

File gmGlobalIncludes.gmsl

Nov 30, 2021 by Mark Juras

File instrument.gmsl

Nov 30, 2021 by Mark Juras

File ListControls_ItemData.gmsl

Aug 21, 2023 by Mark Juras

File makeDSRVB6.gmsl

Nov 30, 2021 by Mark Juras

File migListControls.gmsl

Mar 23, 2023 by Mark Juras

File msado15.dll.DataLib.Transform.gmsl

Nov 30, 2021 by Mark Juras

File msado15.dll.ODBC.Transform.gmsl

Nov 30, 2021 by Mark Juras

File msado15.dll.SqlClient.Transform.gmsl

Nov 30, 2021 by Mark Juras

File mscomct2.ocx.WinForms.gmsl

Mar 23, 2023 by Mark Juras

File mscomctl.ocx.MigCode.gmsl

Feb 08, 2021 by Mark Juras

File mscomctl.ocx.ServiceMethods.gmsl

Feb 08, 2021 by Mark Juras

File mscomctl.ocx.Transform.gmsl

Feb 08, 2021 by Mark Juras

File mscomctl.ocx.WinForms.Transform.gmsl

Dec 27, 2023 by Mark Juras

File scrrun.dll.Transform.gmsl

Aug 21, 2023 by Mark Juras

File Stdole2.tlb.ServiceMethods.gmsl

Nov 30, 2021 by Mark Juras

File Tabctl32.ocx.Wrapper.Transform.gmsl

Nov 30, 2021 by Mark Juras

File Tabctl.ocx.Wrapper.WPFTransform.gmsl

Nov 30, 2021 by Mark Juras

File wpfSubsystem.gmsl

Nov 30, 2021 by Mark Juras

Special Purpose Scripts

Samples of various special purpose scripts are distributed with the tool

  File Modified

XML File Environment.std.xml

Dec 27, 2023 by Mark Juras