I will be migrating several VBA applications currently in ArcMap 9.3.1 to Visual Studio 10 in the near future, and wanted some feedback on the general migration steps listed below. I wanted to make sure that I did not miss any critical steps and that the order of the steps is correct.

1.) Run the ArcGIS Code Converter tool to update old Object names.

2.) Create a Visual Basic project and add all the mxd specific modules, and classes to the new VB project. Re-create any forms or command buttons that existed in VBA.

3.) Run Code Advisor for Visual Basic 6.0.

4.) Open the VB project in Visual Studio 10 and run the Visual Basic Upgrade Wizard.

5.) Manually update any common dialogs, MsgBox, and Win32 API code sections.

6.) Add ESRI references and libraries.

7.) Register new Visual Studio dll.

Here are some website references that I have used so far.

Migrating VBA/VB6 ArcObjects Applications to .NET http://resources.arcgis.com/gallery/video/arcgis-desktop/details?entryID=A721AC1F-1422-2418-341B-DFD761945F47

How to migrate from VB6 to VB .NET (wiring events) http://resources.esri.com/help/9.3/arcgisengine/dotnet/ca0956fb-b3d8-48a0-8c85-3559ae02dc0f.htm

ArcGIS Application Migration: Using the Visual Studio 2008 Upgrade Wizard http://resources.arcgis.com/gallery/video/arcgis-desktop/details?entryID=93EC2C14-1422-2418-880E-0CFF2043C7FD

2 Answers 2


Also the registration of DLLs has changed in version 10.0, if you have any issues then these two links may help you:

About EsriRegasm: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//0001000004n6000000

Adding EsriRegasm to your build: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Migrating_ArcGIS_9_3_Desktop_and_Engine_custom_components_to_ArcGIS_10/0001000002m2000000/

Click on the ESRIRegAsm link on the above page


For prototyping or checking parts of your VB.Net code run your code as a script in the .Net Scripting Tool for ArcMap.

The tool is also useful if you want to keep your code in the MXD (like you were used to with VBA) and/or if you don't want to use Visual Studio.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.