Migrating from VB6 to VB.NET


Summary
This topic discusses why you need to migrate custom Visual Basic 6 (VB6) functionality at ArcGIS 10, what your migration options are, and provides links to topics that detail migration strategies and potential issues when converting to Visual Basic .NET (VB .NET).


Determining why VB6 customizations need to be migrated

Beginning with ArcGIS 10, Esri no longer supports VB6 development of custom functionality and the VB run-time files that are required to run VB6 applications are no longer delivered with ArcGIS. In addition, no support for VB6 and ArcGIS 10 is available from Esri Support. Existing VB6 customizations must be migrated to a supported development language to ensure that the custom functionality works when used with ArcGIS 10.x.
At ArcGIS 10, .NET (VB and C#), Java, C++, Python, and Visual Basic for Applications (VBA) are supported development languages.
VBA will not be supported after ArcGIS 10.
As you migrate your code to one of the supported development languages, Esri Support will answer questions, provide information if needed, and address issues related to that migration. Esri Support understands the time and costs associated with these migrations and will make every effort to react promptly.

Choosing a migration path

Depending on the scope and functionality of your existing VB6 application, you have the following options for migration:
  • Add-ins, introduced in ArcGIS 10, are an easy way to create and deploy custom functionality to ArcGIS for Desktop using .NET or Java. If your existing VB6 customization is a button, tool, comboBox, control, menu, multiItem (.NET only), toolbar, tool palette, dockable window, application extension, or editor extension (.NET only), converting it to an add-in is the best solution. For more information, see the topics in the Building add-ins for ArcGIS for Desktop section of this Help system, including Building add-ins for ArcGIS for Desktop, which provides an overview of the add-in model, and How to migrate from COM components to add-ins.
  • ArcGIS includes Python as an embedded scripting language. Many areas of ArcGIS—particularly mapping and geoprocessing—are accessible through Python application programming interfaces (APIs), making it easy to author and automate common tasks. Python scripts are easily shared and there are a variety of public domain Python modules focused on areas, such as science, engineering, and mathematics. However, not all areas of ArcGIS are currently exposed to Python. In addition, you cannot listen for and respond to ArcGIS events, implement a Component Object Model (COM) interface, or plug into Esri's many COM extensibility points using Python. For more information on Python and ArcGIS, see Using geoprocessing
  • If your existing VB6 application does not fit the add-in or scripting frameworks, then traditional ArcObjects development using classic COM extensibility is still available. For more information, see Extending ArcObjects.

Migrating from VB6 to VB.NET

If you determine that your custom functionality should be delivered as an add-in or use classic COM extensibility, see General steps for migrating from VB6 to VB.NET to help you successfully transition VB6 applications to the .NET platform.


See Also:

General steps for migrating from VB6 to VB.NET




Development licensing Deployment licensing
ArcGIS for Desktop Basic ArcGIS for Desktop Basic
ArcGIS for Desktop Standard ArcGIS for Desktop Standard
ArcGIS for Desktop Advanced ArcGIS for Desktop Advanced
Engine Developer Kit Engine