Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Alexander Forbes offers integrated retirement, investment, life and insurance solutions to create, grow and protect wealth and assets.

Great Migrations worked with Alexander Forbes to design and implement and end-to-end upgrade solution producing an integrated build-complete C# system with a specific set of custom upgrade features.

In addition to developing the upgrade solution to help automate the rewriting process, Great Migrations developed an automated UI testing tool and test scripts to help automated the functional testing process.

Project Highlights

System Metrics

FILES187K LOC Logic and 89K LOC GUI in 327 Files: 259 Forms, 2 MDIForm, 35 Classes, and 16 Modules organized into 15 VBPs.
BINARIES5 EXEs, 10 DLLs, 0 Controls, 0 OLE EXEs,       
MEMBERS8,079 unique subprograms: 2052 subroutines, 1276 functions, 404 properties , 148 externs , 4199 event handlers.   
UI240 unique UI containers containing 9612 instances of 45 different kinds of controls.    
COM242,613 calls to external COM components. The diversity of COM members is 759 unique members from 159 types in 17 COM components. 
WIN32225 calls to 66 unique entry-point APIs from 10 libraries. API Calls are made from 24 different user procedures.  

COM Upgrades

  • ADODB: Upgrade to a NET wrapper for ADO.NET that provides more application compatibility
  • CDO: Upgrade to System.Net.Mail
  • ComctlLib: Upgrade TabStrip to MigrationSupport.TabPage
  • Excel: Upgrade to Primary Interop Assembly
  • MSCalendar: Upgrade to System.Windows.Forms.MonthCalendar
  • MSComCtl2: Upgrade DTPicker to System.Windows.Forms.MonthCalendar; UI Upgrade UpDown Control + Buddy: rework as NumericUpDown wrapper
  • MSComctlLib: Upgrade ListView, StatusBar, TabStrip, ProgressBar. ImageList, TreeView to Winforms Controls
  • MSDATASRC: Upgrade to .NET Data Binding
  • MSFlexGridLib: Upgrade Microsoft Flexible Grid to DataGridView wrapper
  • MSHierarchicalFlexGridLib: Upgrade Microsoft Hierarchical Flexible Grid to DataGridView wrapper
  • MSMask: Upgrade MaskEdBox to WinForms.MaskedTextBox
  • RichTextLib: Upgrade RichTextbox to WinForms.RichTextBox
  • Scripting: Upgrade File IO Upgrade to System.IO; Upgrade Dictionary to .NET Dictionary
  • SHDocVw: Upgrade Microsoft Internet Controls (WebBrowser) to WinForms.WebBrowser
  • TabDlg: Upgrade Tabbed Dialog Control 6.0 (SP5) to WinForms.TabControl wrapper
  • Word: Upgrade Primary Interop Assembly for Office (or Visual Studio Tools for Office)

Custom Upgrade Features

  • Developed a code instrumentation process to facilitate debugging behind-the-scenes behavior.
  • Developed a custom transformations to facilitate testing the code in various environments.
  • Developed a continuous integration process that would to automated standard build and UI testing on the C# code

pageNameAlexander Forbes Testimonial
quickfind-pageAlexander Forbes Testimonial