Page tree

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

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.

  File Modified
XML File comdlg32.ocx.Remove.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File comdlg32.ocx.Winforms.Refactor.xml Mar 23, 2023 by Mark.Juras
XML File comdlg32.ocx.Wrapper.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File Comsvcs.dll.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File cscalbtn.ocx.WinForms.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File DAO350.DLL.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File GRID32.ocx.WinForms.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File ieframe.dll.WinForms.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File mig.ActBar.ocx.xml Nov 30, 2021 by Mark.Juras
XML File mig.actrpt.dll.xml Nov 30, 2021 by Mark.Juras
XML File mig.actrpt2.dll.xml Nov 30, 2021 by Mark.Juras
XML File mig.arviewer.ocx.xml Nov 30, 2021 by Mark.Juras
XML File mig.EXCEL.EXE.Interop.xml Nov 30, 2021 by Mark.Juras
XML File mig.Language.wpf.xml Nov 30, 2021 by Mark.Juras
XML File mig.msado15.dll.SqlClient.xml Nov 30, 2021 by Mark.Juras
XML File mig.MSCOMCT2.OCX.Winforms.xml Nov 30, 2021 by Mark.Juras
XML File mig.mscomctl.ocx.xml Nov 30, 2021 by Mark.Juras
XML File mig.msscript.ocx.ClearScript.xml Nov 30, 2021 by Mark.Juras
XML File mig.MSVBVM60_3.dll.xml Nov 30, 2021 by Mark.Juras
XML File mig.MSVBVM60.dll.xml Nov 30, 2021 by Mark.Juras
XML File mig.richtx32.ocx.WinForms.xml Nov 30, 2021 by Mark.Juras
XML File mig.ssa3d30.ocx.xml Nov 30, 2021 by Mark.Juras
XML File mig.Threed20.ocx.WinForms.xml Nov 30, 2021 by Mark.Juras
XML File mig.vb7lang.xml Aug 21, 2023 by Mark.Juras
XML File msado15.dll.DataLib.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File msado15.dll.SqlClient.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File mscomct2.ocx.Winforms.Refactor.xml Aug 21, 2023 by Mark.Juras
XML File mscomctl.ocx.WinForms.Refactor.xml Aug 21, 2023 by Mark.Juras
XML File mscorlib.tlb.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File msdatgrd.ocx.DataGridView.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File mshflxgd.ocx.LiteWrapper.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File mshflxgd.ocx.Wrapper.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File MSOUTL32.ocx.Refactor.xml Aug 21, 2023 by Mark.Juras
XML File msrdo20.dll.DataLib.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File msscript.ocx.ClearScript.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File MSWORD.OLB.Interop.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File msxml6.dll.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File pvtreex.ocx.Wrapper.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File Refactor.DAO350.DLL.xml Nov 30, 2021 by Mark.Juras
XML File Refactor.Mscomctl.ocx.xml Nov 30, 2021 by Mark.Juras
XML File Refactor.Richtx32.ocx.xml Nov 30, 2021 by Mark.Juras
XML File Refactor.Stdole2.tlb.xml Nov 30, 2021 by Mark.Juras
XML File richtx32.ocx.WinForms.Refactor.xml Aug 21, 2023 by Mark.Juras
XML File Scrrun.dll.SystemIO.Refactor.xml Aug 21, 2023 by Mark.Juras
XML File shdocvw.ocx.WinForms.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File Stdole2.tlb.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File TABCTL32.OCX.Wrapper.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File Threed20.ocx.WinForms.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File THREED32.ocx.WinForms.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File TLBINF32.DLL.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File vbscript_3.dll.SystemText.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File vbscript_3.SystemText.Refactor.xml Nov 30, 2021 by Mark.Juras
XML File vsflex2.ocx.WinForms.Refactor.xml Nov 30, 2021 by Mark.Juras

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.

  File Modified
XML File GM.actrpt2.dll.xml Nov 30, 2021 by Mark.Juras
XML File GM.ADODB_to_DataLib.dll.xml Nov 30, 2021 by Mark.Juras
XML File GM.ADODB_to_System.Data.Odbc.dll.xml Nov 30, 2021 by Mark.Juras
XML File GM.ADODB_to_System.Data.Sql.dll.xml Nov 30, 2021 by Mark.Juras
XML File GM.cdonts.dll.xml Nov 30, 2021 by Mark.Juras
XML File GM.COMDLG32_Remove.OCX.xml Nov 30, 2021 by Mark.Juras
XML File GM.COMDLG32.OCX.xml Nov 30, 2021 by Mark.Juras
XML File GM.DAO350.DLL.xml Nov 30, 2021 by Mark.Juras
XML File GM.EXCEL_Interop.EXE.xml Nov 30, 2021 by Mark.Juras
XML File GM.ieframe.dll.xml Nov 30, 2021 by Mark.Juras
XML File GM.msado27.tlb.xml Nov 30, 2021 by Mark.Juras
XML File GM.MSCAL.OCX.xml Nov 30, 2021 by Mark.Juras
XML File GM.MSCOMCT2.OCX.xml Nov 30, 2021 by Mark.Juras
XML File GM.MSCOMCTL.OCX.xml Nov 30, 2021 by Mark.Juras
XML File GM.MSFLXGRD.OCX.xml Nov 30, 2021 by Mark.Juras
XML File GM.MSHFLXGD.OCX.xml Nov 30, 2021 by Mark.Juras
XML File GM.msinet.ocx.xml Nov 30, 2021 by Mark.Juras
XML File GM.msmask32.ocx.xml Nov 30, 2021 by Mark.Juras
XML File GM.MSOUTL_Interop.OLB.xml Nov 30, 2021 by Mark.Juras
XML File GM.MSRDO20.DLL.xml Nov 30, 2021 by Mark.Juras
XML File gm.msscript.ocx.xml Nov 30, 2021 by Mark.Juras
XML File GM.msvbvm60_3.dll.xml Nov 30, 2021 by Mark.Juras
XML File GM.MSVBVM60.dll.xml Nov 30, 2021 by Mark.Juras
XML File GM.MSWORD_Interop.OLB.xml Nov 30, 2021 by Mark.Juras
XML File GM.msxml6.dll.xml Nov 30, 2021 by Mark.Juras
XML File GM.oip11.tlb.xml Nov 30, 2021 by Mark.Juras
XML File GM.ResizeKit.ocx.xml Nov 30, 2021 by Mark.Juras
XML File GM.richtx32.ocx.xml Nov 30, 2021 by Mark.Juras
XML File GM.scrrun.dll.xml Nov 30, 2021 by Mark.Juras
XML File GM.shdocvw.dll.xml Nov 30, 2021 by Mark.Juras
XML File GM.ssa3d30.ocx.xml Nov 30, 2021 by Mark.Juras
XML File GM.SSLstBar.ocx.xml Nov 30, 2021 by Mark.Juras
XML File GM.Stdole2.tlb.xml Nov 30, 2021 by Mark.Juras
XML File GM.TABCTL32.OCX.xml Nov 30, 2021 by Mark.Juras
XML File GM.tdbg6.ocx.xml Nov 30, 2021 by Mark.Juras
XML File GM.TLBINF32.DLL.xml Nov 30, 2021 by Mark.Juras
XML File GM.uiRAD.ocx.xml Nov 30, 2021 by Mark.Juras
XML File GM.vbscript_3.dll.xml Nov 30, 2021 by Mark.Juras
XML File GM.xarraydb.ocx.xml Nov 30, 2021 by Mark.Juras
XML File gmGlobalIncludes.xml Nov 30, 2021 by Mark.Juras

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 Mar 23, 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 Tabctl.ocx.Wrapper.WPFTransform.gmsl Nov 30, 2021 by Mark.Juras
File Tabctl32.ocx.Wrapper.Transform.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

  • No labels