VB Migration Partner

Introducing Code Architects VB Migration Partner

VB Migration Partner - Main window

VB Migration Partner is an innovative VB6 conversion software created by a team of renowned VB and .NET experts led by Francesco Balena, MSDN Regional Director and author of the "Programming Microsoft Visual Basic" series (Microsoft Press), the most complete and authoritative guides to VB language. VB Migration Partner supports all the main VB6 features and controls, and delivers VB.NET applications with significantly fewer compilation and runtime errors than those produced by other conversion tools. Our tests on hundreds of randomly chosen open source applications show that VB Migration Partner correctly converts 999 out of one thousand statements.

The promotional campaign with Microsoft UK has ended on June 30, 2009 (For UK developers only.)

Run VB6 Analyzer on your source code and mail us the generated text file. You will receive a detailed report about your VB6 application and how VB Migration Partner can help you to quickly and effectively migrate it to VB.NET.

VB Migration Partner can handle VB6 project groups as well as constructs that have no direct equivalent in the .NET Framework world. The code generation module and the powerful refactoring module emit VB.NET code that rivals in quality with code written by expert .NET developers. Even better, developers can customize the resulting VB.NET code and can improve the behavior of the converted application while keeping it in sync with the original VB6 project, thanks to our support for the convert-test-fix cycle. In spite of all this power, VB Migration Partner is 5 to 8 times faster than the Upgrade Wizard included in Visual Studio.

VB Migration Partner owes its superior performance to three factors.
First, a state-of-the-art parser is able to correctly convert language constructs that are commonly considered as impossible to migrate automatically, including:

  • arrays with LBound <> 0
  • “As New” variables with true auto-instancing semantics
  • default members in both early- and late-bound mode
  • fixed-length strings and arrays thereof
  • Gosub, On Goto, On Gosub keywords
  • Declare statements with As Any and delegate parameters
  • user controls, MTS/COM+ components, persistable and bindable classes, and more

Second, an advanced code generation engine delivers high-quality VB.NET code using code-analysis and refactoring techniques, such as:

  • deterministic finalization for IDisposable objects
  • automatic initialization of Type blocks that contain arrays and As New objects
  • conversion of old-styled error handling code (On Error statement) to structured exception handling (Try-Catch statement) if possible
  • transformation of GoSub keywords into calls to separate methods
  • detection of ByRef parameters that can safely use by-value semantics (if requested, the ByVal keyword can be inserted automatically)
  • other basic refactoring features, including nested IFs merging, transforming Exit Function/Property into Return statements and merging a variable declaration with its initialization (e.g. Dim k As Integer = 1)
  • removal of unused methods and unreachable code portions

Third, a full-featured support library dramatically reduces the differences between VB6 and VB.NET, ensuring that converted applications run as intended and supporting advanced VB6 features such as:

Migrated VB6 Sample: Mp3 Player
  • the 60+ controls in the VB6 toolbox, with the only exception of OLE Container and Repeater
  • language objects and collections (App, Screen, Forms, Printer, Clipboard, PropertyBag, etc.)
  • virtually all control properties, methods, and events
  • graphic statements, and user-defined ScaleMode settings
  • context menus, support for legacy help files
  • DAO, RDO, and ADO data binding, including binding to data controls, ADO.Recordset, DataEnvironment, ADO consumer classes, and user controls that work as ADO data sources
  • creation of new controls at runtime, via control arrays or Controls.Add method, with full support for the VBControlExtender object
  • automatic and manual OLE drag-and-drop

VB Migration Partner - Insert Pragma window

Unlike other conversion tools, VB Migration Partner can be customized and fine-tuned to behave exactly as intended, by means of pragmas. Migration pragmas are special remarks that you can add to the original VB6 application and that tell the migration engine how code must be handled during the conversion step. VB Migration Partner supports over 60 different pragmas to solve most of the challenges that you face during a complex migration project. VB Migration Partner’s IDE even guides you through the insertion of a new pragma, using an easy-to-use dialog box that explains the meaning of each argument. A few carefully chosen pragmas often allow you to generate VB.NET applications with zero compilation or runtime errors.

Download a detailed comparison table and see why VB Migration Partner is the most time- and cost-effective solution for migrating VB6 apps of any size and complexity, then read what our customers say about it.

In addition to reducing compilation and runtime errors, pragmas promote the convert-test-fix cycle, a key feature in managing complex migration initiatives. Large real-world business applications typically require maintenance and upgrading while the migration process proceeds in parallel. VB Migration Partner allows developers to convert the application, test the result, and go back to the VB6 code to add pragmas that reduce or eliminate compilation and runtime errors, and then re-try the conversion until the VB.NET code works as intended. Developers are working with a single source base, therefore the VB6 and the .NET versions are in sync until new features are added to the VB.NET code.

VB Migration Partner is powerful enough to deal with huge, enterprise-level projects. It supports batch migration processes and can easily handle applications that are split in dozens or hundreds DLLs by supporting phased migrations of individual VB6 DLL, thanks to its full support for backward binary compability. It also support source code control tools – including Visual Source Safe and Microsoft Team System. Last but not the least, VB Migration Partner can be fully customized by means of an extension object model that gives you full control on code generation.

Successfully convert your VB6 legacy applications.
Run VB6 Analyzer on your source code and mail us the generated text file. You will receive a deailed report about your VB6 application and how VB Migration Partner can help you to quickly and effectively migrate it to VB.NET.

Subscribe to our free newsletter for useful VB6 migration tips and techniques.