Questions & Answers about VB Development in Future Releases of ArcGIS

July 7, 2011 — Dean Perry

So, your GIS department has been developing applications for ArcGIS using Microsoft Visual Basic (VB) for a long time now. You may have heard a rumor that Esri is ending VB support with ArcGIS 10.1. What do you do?

The short answer: start planning soon.

According to Esri’s Deprecation Plan for ArcGIS 10.0 and ArcGIS 10.1:

ArcGIS 10.0 is the last release of Microsoft Visual Basic for Applications (VBA); we will no longer support VBA beyond the ArcGIS 10.0 release. Esri strongly recommends that no further development occur on this platform. Beyond ArcGIS 10.0, Esri will no longer be able to support VBA as a development platform. Users who have custom functionality built using VBA [or VB] should actively plan strategies to rewrite their applications using a supported development language such as Python, VB.NET, or C# so their applications continue to be operational and supported in future releases of ArcGIS.

The change, in fact, has already happened. If you’re like most GIS users, you probably aren’t using 10.1 yet, though you might be looking at an upgrade in the next year or so. This is the time to take the proactive approach, accept the change, and start making arrangements (time, personnel, dollars, etc) for a seamless upgrade.

What does this mean? Your VB customizations will not work in 10.1. You will need to update the code (and do all future programming) in a newer , supported format. The silver lining here – hard as it may be to see – is this provides a great opportunity to review your current customizations, trim the fat, and consider new ideas for functionality.

Here are your options:

  • Convert to Python: Embedded into ArcGIS, Python is a free, open-source language that can be used across a variety of platforms. Esri is strongly recommending it as the “scripting language of choice” for geoprocessing users. They’ve also released the “ArcPy” site-package, which provides access to geoprocessing tools, additional functions, classes and modules. Python API’s are particularly helpful for mapping and geoprocessing customizations.
  • Utilize Add-Ins: Add-Ins are customizations packed into a single compressed file. They’re used primarily for customizations utilizing user interface (UI) functionality. Once written, no installers are necessary – you’ll just need to copy the add-in to a common folder and you’re good to go. They’re developed in .NET or Java using XML to describe the functionality, and can actually be developed in many common developing environments like Visual Studio or Eclipse. (The ArcObjects SDK includes an Add-In Wizard to integrate to your standard dev environment.) This is a particularly helpful option if the customization is a button, tool, comboBox control, menu, multiItem, toolbar/palette, dockable window, application extension or editor extension.
  • Migrate to .NET: For many users, Python and/or Add-Ins may not be the best choice due to limited functionality or limited interest in changing the paradigm of your customizations. In this case, you’ll want to consider migrating to VB.NET or C#.NET.
    VB.NET and C#.NET are similar to VB6, but with some key differences (not the least of which is that they’re supported in future ArcGIS releases!) Depending on the functionality and number of customizations, the health of your code and personnel availability, you likely will want some outside help with this, to ensure a proper migration. (SSP Innovations provides this service, among others.) Otherwise, Esri provides some instructions on migrating yourself, complete with a slick-looking Upgrade Wizard (which this author has admittedly never tried out.)

Esri is thankfully making a respectable attempt at helping their users through this trying time. Esri Support will answer your questions and can provide more information about migration.

But, the first step for any migration is to review your current functionality and be sure you have a grasp of what it really does. Then you can set about reviewing it, considering new functionality, cleaning up your scripts, and beyond.

Get moving!

We Wrote the Book

The Indispensible Guide to ArcGIS Online

Download It for Free
Chief Business Development Officer More by this author

What do you think?

Leave a comment, and share your thoughts

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


This site uses Akismet to reduce spam. Learn how your comment data is processed.