Preparation
- Mark Juras
Prepare Your Migration Environment: Build a Build Box
HardwareÂ
One of the first steps in preparing for a migration effort is to provision a reliable, high-performance development workstation that you will use to perform migration work. This is typically one of the workstations you are already using to maintain and build the source codebase.In terms of disk, CPU and memory, this machine should be sized for .NET development using Visual Studio -- the bigger the better.Software
Once you have a migration workstation, install gmStudio and external tools as outlined on the Overview/Installation page. ÂSource Codebase
In addition to hardware and software, your migration environment must contain a complete, internally-consistent and properly configured copy of your source codebase. A codebase has two parts:- Source files that describe the behavior and structure of the system. These must be in the correct locations relative to the referencing files (i.e., VBPs or #including web pages).
 - COM components that contain information about classes and external types that are used by your source codes. These COM components must be properly installed during the preparation phase. Most preparation problems stem from incorrect or incomplete installation of COM components. These can be resolved by installing (e.g., registering) each component that is causing an issue.
VB6 Validation: The Full System Build
Create a Migration Project
Migration project files specify which legacy components to migrate and how to migrate them. A migration project can be created using the [Migration Project Setup] form. You can access the [Migration Project Setup] form in two ways:- Click the [New] button on the Toolbar
- Select [File/New] from the menu
You may also create a starter VB6 test code and an associated project using the [Create a Specification Code Form ]. This is helpful for creating a "starter project" to do detailed research and development for specific upgrade feature.Â
Save and Upgrade
When you are done adding your VBPs (or ASP pages) to a migration project, you can Save it or Save and Upgrade it. Â The Save option just takes you back to the Main form to work adhoc. Â The Save and Upgrade takes you back to the main form then initiates the default upgrade process. Â The default upgrade process includes the following steps:- Set Build Order
- Author Interface DescriptionsÂ
- Author Resx Files
- Run Translations
- Deploy Translations
- Build Translations
Set Build Order
After adding migration units to your migration project, you will use the Build Order tool to sort them in build order (aka dependency-first order)The results of the Build Order tool depend on the type of your migration project:- For VB6 migrations, the build order tool assigns every unit a build order number based on how it references other units. The units are arranged in ascending order of dependency on other units in the migration project.Â
 - For Web migrations, the build order tool assigns every unit an "include" order and a build type (Page, Include, or Pulp) based on how it includes other units.
Author Interface Descriptions
gmStudio uses information about COM components so it can recognize and interpret them correctly during the translation process. For efficiency, gmStudio stores this information in XML files. These files are called Interface Description Files (IDFs) and they must be created before translating any codes that depend on the components they describe.The [Tools/Author Interface Descriptions] option will create IDFs for your migration project.Creating interface description files is one of the default processing steps for all new migrations.Â
Author Interop Assemblies (optional)
If you selected Externals=Interop when you setup your migration project, the system will create Interop assemblies for the external COM components referenced by your codes.The [Tools/Author Interop Assemblies] option will create Interop assemblies for your migration project.Creating interop assemblies is one of the default processing steps for "Interop" migrations.
Default Interop Assembly Location
Author Resx Files
.NET Windows Forms applications use Resx files to store metadata for each form. Resx files contain information used by the forms designer as well as graphics (i.e., bitmaps, icons) and other binary content such as control property settings and binary information needed for Interoped controls (i.e., OCXState).You will need Resx files in order to maintain your user interface components with the .NET designer and to display .NET user interfaces at runtime.The [Tools/Author Resx Files] option will create Resx files for your migration project.Create Resx files is not a default processing steps for new migrations.Â