Autologue -- PartsWatch Auto Parts Inventory and Distribution System (VB6)


Autologue is a leading provider of automotive aftermarket software solutions. Autologue's PartsWatch product offers advanced auto parts inventory and distribution management features.

Project Highlights

Phase 1: Standard Upgrade and Training

  • Main objective: to accelerate the incremental migration of PartsWatch to the C#.NET platform reducing cost and risk without requiring a code freeze or sacrificing quality.
  • 77 inter-related vb6 projects
  • 1.6M source code lines
  • 34 external COM components and controls
  • Effort: 30 person-days for solution development, 5 days for customer training

Great Migrations provided development, training, and support for using gmSudio to implement an automated, repeatable upgrade solution. This solution generates an integrated, build-complete set of C# application projects from the PartsWatch VB6 code.  It also generates set of C# projects providing a stub class framework to replace the COM dependencies found in that code. All of the projects are organized in a VS2015 solution to facilitate a full-stack build and further analysis and development. Great Migrations also provided an on-sight gmStudio training workshop to hand-off the upgrade solution and ensure that the the Autologue team would be able to advance and use the solution as part a broader, long-term upgrade strategy.

Phase 2: Custom Upgrade Support

The PartsWatch team put the project on hold for several years and operated in a hybrid mode designing and developing a framework that allowed running .NET UI elements under their VB6 host.  In 2022, Autologue re-engaged Great Migrations to help them migrate to a pure .NET architecture and we assisted with Custom Upgrade Solution design and development to implement numerous custom upgrade features:

COM Replacements


Replace MSHierarchicalFlexGridLib with In-House Grid Control


Replace ADODB with In-House Data Access API


Replace new In-House Serial Communication API


Replace WebBrowser with In-House WebBrowser Control


Replace RichTextLib with Winforms.RichtextBox


Repalce MSComDlg with Winforms CommonDialog components


Replace SysInfo with .NET API calls


Replace MSFlexGrid with In-House Grid Control


Replace MSComCtlLib controls with WinForms controls and extensions


Replace MSComCtl2 controls with WinForms controls and extensions


Replace tapi3.dll (Telephony) with Interop assembly


Replace MSXML2 with System.Xml


Replace Scripting File/IO with System.IO

Control Framework
Replace an extensive custom control library to its .NET replacement
Technical Framework
Replace an extensive collection of in-house technical APIs to .NET replacements


  • Consolidate over 90 Shared files changing shared code file references to common assembly references
  • Remove dozens of unused files and methods
  • Integrate hand-coded methods and files


  • Migrate rich VB6-based composite application framework to .NET-based composite application framework
  • Migrate extensive collection of user-defined controls to .NET 
  • Migrate hundreds of UserControls to custom Forms
  • Migrate Multi-Language support to new design


  • Optimized Type Inference
  • Migrate 1000s of VB.Collections and Scripting.Dictionaries to strongly typed Generic Lists and Dictionaries
  • Migrate using Optional Arguments
  • Migrating Twips to Pixels as needed


  • Rework over 100 methods to use .NET framework services rather than Win32 API calls

Value Added

  • Integrate nuget packages
  • Batch upgrade pipeline including all translations, solution generation, and .NET builds
  • Implement custom upgrade engine using gmAPI