What's new for developers at 10?


Summary
This topic provides an overview of the new features and enhancements at ArcGIS 10 for developers working with the .NET application programming interface (API) for ArcObjects.


Integrated ArcObjects SDK

At ArcGIS 10, there is a single software development kit (SDK) for ArcObjects. It combines the content previously contained in the ArcGIS Desktop and ArcGIS Engine .NET SDKs, along with ArcObjects development specific to ArcGIS Server. The ArcObjects SDK for .NET includes documentation, samples, developer tools, and Visual Studio templates for ArcObjects development. It focuses on the following three major categories of ArcObjects applications:
The included documentation has been enhanced with a reorganized table of contents (TOC) that focuses on the tasks developers want to accomplish. Additional roadmap topics have been included to help guide you to the best solutions.

Architectural modifications

ArcGIS 10 includes several significant product architecture modifications. One of the major advantages of the new architecture is autonomous ArcGIS Desktop and Engine runtimes. You can now install ArcGIS Desktop and ArcGIS Engine products in independent locations on your machine. You can also install service packs for Engine and Desktop products independently. However, these architectural changes require you to explicitly bind your stand-alone (Engine) applications and custom components to a specific ArcGIS product on your machine.
A stand-alone application can be bound to a Desktop or Engine runtime. The binding is achieved by including the following simple code before to using any ArcObjects.
For ArcGIS Engine, use the following code:
[C#]
//Insert this line before invoking any ArcObjects to bind Engine runtime. 
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);
[VB.NET]
[VB.NET]
'Insert this line before invoking any ArcObjects to bind Engine runtime.
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine)
For ArcGIS Desktop, use the following code:
[C#]
//Insert this line before invoking any ArcObjects to bind Desktop runtime.
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop);
[VB.NET]
'Insert this line before invoking any ArcObjects to bind Desktop runtime.
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop)
Similarly, a custom Component Object Model (COM) component must be registered with the Engine or Desktop runtime on a machine. This can be achieved by using the ESRI provided ESRIRegAsm utility. See the following:
  • Desktop—ESRIRegAsm /p:desktop "C:\Test\MyCustomAssembly.dll"
  • Engine—ESRIRegAsm /p:engine "C:\Test\MyCustomAssembly.dll"
Other notable modifications resulting from the architectural changes are as follows:
  • ArcGIS install location—Before this release, ArcGIS Desktop, ArcGIS Engine Runtime, SDKs, and ArcGIS Server were installed in the <your specified location>\ArcGIS folder on your machine. With this release, all ArcGIS products can be installed independent of one another in different locations on your machine. The typical install locations are as follows:
    • ArcGIS Desktop: <your specified location>\ArcGIS\Desktop10.0
    • ArcObjects SDK: <your specified location>\ArcGIS\DeveloperKit10.0
    • ArcGIS Engine Runtime: <your specified location>\ArcGIS\Engine10.0
    • ArcGIS Server: <your specified location>\ArcGIS\Server10.0
  • ESRI policy files—ESRI no longer issues publisher policy files that redirect to newer versions of ESRI assemblies. If you're migrating applications to ArcGIS 10, you must recompile and test your applications to deploy on ArcGIS 10 runtime. For more information on migrating applications, see Migrating ArcGIS 9.3 Desktop and Engine custom components to ArcGIS 10.
  • ESRI registry keys—If you're using ESRI registry keys to interrogate the installation locations of ArcGIS products, the keys have been modified at this release. For a complete list of new registry keys, see Migrating ArcGIS 9.3 Desktop and Engine custom components to ArcGIS 10. Alternatively, you can take advantage of the new APIs in the ESRI.ArcGIS.Version assembly to query install locations instead of using the registry keys.

Supported platforms 

In addition to previously supported operating systems, such as Windows Vista and Windows XP, ArcGIS 10 also supports Windows 7. Applications developed using Microsoft .NET Framework with ArcGIS 10 require Microsoft .NET Framework 3.5 SP1. For more information on other supported platforms, and hardware and software requirements for the current release, see System Requirements.

New features

The following subsections provide an overview of new features in ArcGIS 10.

ArcGIS Engine concurrent licensing

You can now obtain concurrent Engine licenses via a license server. Previous releases of ArcGIS Engine supported only a single-user, per machine license. The concurrent licensing model allows Engine applications to withdraw licenses from a server that can host a fixed number of licenses. 

Customizing ArcGIS Desktop using add-ins

You can create add-ins to add custom functionality to ArcGIS Desktop. Add-ins provide a simple and light-weight approach to most common customizations, such as custom buttons, tools, menus, palettes, dockable windows, combo boxes, multi-items, and application and editor extensions. Add-ins are installed on a per-user basis and do not require administrative privileges for installation. Add-ins can be easily shared between users and organizations via e-mail, network share, and public download. For more information, see Building add-ins for ArcGIS Desktop.

Map automation using Python

A new Python mapping module provides commands to interact with map (.mxd) documents and layer (.lyr) files. You can create Python scripts using these commands to open map documents and layers, query and alter contents, then print, export, or save the modified document. These commands are also useful for implementing multiple document workflows, such as updating and fixing data source locations, and for creating reports based on layers, data sources, or symbology. You can also combine several map documents to output a map book (similar to the functionality previously provided in the DSMapBook sample) or atlas to the printer or a .pdf file.

Background execution of geoprocessing tools

Since ArcGIS 9.2, developers have been able to run geoprocessing jobs (tools or models) using the IGeoprocessor2.Execute method, but the progress of the application was stalled during execution. At ArcGIS 10, the new IGeoprocessor2.ExecuteAsync method can be used to execute geoprocessing jobs in the background of an application—which means the application can progress and respond to user interaction—while a geoprocessing job is being executed. You can also run more than one background geoprocessing job in an application. For more information, see Running a geoprocessing tool using background geoprocessing.

GraphicTracker for moving objects

The new GraphicTracker APIs allow you to visualize dynamic tracking of moving objects on a two-dimensional (2D) map (.mdx) or three-dimensional (3D) globe (.3dd) without flickering. Each moving object can also be assigned a text label and optional text symbol. The GraphicTracker implementation minimizes refresh of display and provides smooth transition when a moving object is added to or removed from the display. Additionally, the moving object symbols can be made transparent, highlighted, oriented to x-, y-, and z-axis, or floated above the display according to the z-value. The object symbols can also be scaled based on the symbol's size or automatically shrunk when the display becomes large scale (bill-boarded). For more information, see Using a GraphicTracker.

Basemap layers for improved map navigation and display

A basemap layer is a special type of group layer for storing reference layers used for visualization or navigation purposes (for example, aerial imagery, streets, and land parcels). The basemap layer is drawn using optimized display logic and provides a continuous display that makes it easy to navigate around a map. You can create a basemap layer programmatically using the BasemapLayer class. A basemap layer can be added to or removed from a map document (.mxd file) in the same way as any other layer. For more information, see Creating and working with basemap layers.

Visualizing spatial datasets in ArcGIS

ArcGIS 10 introduces query classes and query cursors that provide direct read-only access to datasets in spatial databases (for example, SQL Server 2008). Query classes implement the ITable interface and (in most cases) the IFeatureClass interface and can be consumed by client applications in much the same way as a geodatabase dataset. Query classes with geometry fields can be added to a map document as a feature layer. A query layer behaves the same as any other layer and can be saved or shared as a layer file (.lyr) or served as an input to geoprocessing models and tools for advanced analysis. For more information, see Query classes and cursors.

Visualizing time in ArcGIS

Temporal visualization is now supported in ArcGIS. Features layers, graphic layers, and other layers can be configured to render based on time attributes. Many of the layers can use existing time-related data that is properly formatted. Multiple layers can participate in time view at once. ArcGIS provides a time control user interface (UI) element, but the map can also be controlled programmatically. For more information, see Displaying time-aware data.

ArcMap editing enhancements

The following editing enhancements are available:
  • User interface—The editing environment in ArcGIS Desktop has been redesigned to provide a more simplified and streamlined workflow. The workflows for the edit task, edit target, and sketch tools have been supplemented by templates, edit tools, construction tools, and shape constructors. The majority of changes and additions to the editor assembly support these user experience changes. For more information, see Migrating desktop editing customizations to ArcGIS 10.
  • Templates—Feature templates are a central concept in the editing environment in ArcGIS. Creating features using the editor relies on the use of feature templates. Feature templates provide an easy way to simplify and streamline the creation of features using the editor. Because a number of the properties required to set up the editing environment and attribute the feature are predefined, the user can easily select a template, and a number of steps are performed automatically, making the user's task easier. For more information, see Using feature templates.
  • Snapping—A new snapping environment that can be used by both ArcMap and ArcGIS Engine developers is available. This snapping environment allows you to enable snapping in all your custom tools, not just those used with the editor. The snapping environment is accessed as an extension in ArcMap and from the esriControls assembly in ArcGIS Engine. For more information, see How to work with the snap environment.
  • TOC customizations—The Table of Contents window and TOC views have been re-architected. Table of Contents views, such as display and source, now appear as icons on the Table of Contents toolbar rather than as tabs, as in previous versions. The Table of Contents window is now also part of the dockable window framework allowing it to slide, pin, and dock with other windows in ArcGIS. Custom TOC views can be created by implementing the IContentsView3 interface, which exposes two additional properties including the bitmap for the icon and a ToolTip string.

    Existing custom views should only be migrated to the new TOC framework if they directly manipulate or are associated with the layers on the map. If you were previously using the TOC framework to host custom views for their docking capability, you should create a proper dockable window instead. To migrate existing custom views to the new framework, you need to implement the IContentsView3 interface in your class and update the Bitmap and Tooltip properties. For more information, see Creating custom ArcMap TOC views.

Display expressions for advanced MapTips

A Display field is used to identify a feature when using the Identify window or to provide text for MapTips. You can now customize the text string of MapTips by creating a display expression using the IDisplayExpressionProperties interface. Using display expressions, you can concatenate or modify the attribute values of one or more fields, or include additional text strings to create more advanced MapTips. A display expression can also contain Visual Basic script or JavaScript to add logic and text processing for advanced MapTips.

Attribute-driven symbology

You can define the symbols for a feature layer based on its attribute value. See the following:
  • Rotating point features—The existing rotation renderer has been improved to provide support for applying rotation to point features based on a rotation value specified in an attribute field or by using an expression. You can rotate points randomly within a 0–360 degree range. The IRotationRenderer2 interface provides methods for rotating points in map as well as in 3D views, such as scene and globe. In scene and globe, rotation is supported for the x, y, and z axes. However, in map, the rotation is supported in the 2D plane only.
  • Size of point features—A size renderer interface allows you to size point features based on a size value specified in an attribute field or by using an expression. You can also size points randomly within a range. The ISizeRenderer interface provides methods for sizing points in map as well as in 3D views, such as scene and globe.

Improved printing support

The PrintAndExport class has been added to the ESRI.ArcGIS.Carto library to simplify the printing and exporting of maps. When printing or exporting via the PrintAndExport class, the Output Image Quality will be automatically gathered from the Export or Printer object's ResampleRatio property and applied to the active view.

PNG and alpha-blending bitmap support for icons

Higher quality icons are supported, which make use of alpha-blending bitmaps and Portable Network Graphics (PNG) image formats. These icons are available when you install the ArcObjects SDK and can be used for developing commands and tools in both Engine and Desktop applications.

X86 target platform

The ArcObjects Primary Interop Assemblies (PIAs) now target the X86 platform. Since ArcObjects PIAs are 32-bit applications, this modification allows you to safely run your ArcObjects applications on a 64-bit machine. The X86 target platform specifies to the common language runtime (CLR) that the assemblies must run as 32-bit processes, even on a 64-bit machine. For more information on the impact of this modification and how to modify your project settings to target the X86 platform, see Migrating ArcGIS 9.3 Desktop and Engine custom components to ArcGIS 10.

New assemblies

The following new assemblies have been added to the runtime:
  • ESRI.ArcGIS.ADF.Local—The ESRI.ArcGIS.ADF.Local assembly contains a number of .NET utility classes that facilitate development by taking advantage of .NET capabilities such as object inheritance and static functions. The ESRI.ArcGIS.ADF assembly has been deprecated and replaced by ESRI.ArcGIS.ADF.Local.
  • ESRI.ArcGIS.ADF.Connection.Local—The ESRI.ArcGIS.ADF.Connection.Local assembly contains .NET classes used to establish connections with ArcGIS Server and ArcIMS services. The ESRI.ArcGIS.ADF.Connection assembly has been deprecated and replaced by ESRI.ArcGIS.ADF.Connection.Local.
  • ESRI.ArcGIS.EngineCore—The EngineCore library contains APIs that allow you to build and manage collections of graphics in a map or globe using GraphicTrackers.
  • ESRI.ArcGIS.SchematicControls—The SchematicControls library contains the schematic control commands, which are a set of commands that works with the ArcGIS Engine controls and that enable you to build Schematic applications. All the schematic-related commands in the ESRI.ArcGIS.Controls library have been moved to Schematic control commands.
  • ESRI.ArcGIS.SchematicUI—The SchematicUI library provides UIs to support objects contained in the Schematic library. The ArcMap and ArcCatalog Schematic Extension object is implemented by this library.
  • ESRI.ArcGIS.Version—Stand-alone applications must now programmatically bind to a specific ArcGIS product runtime on your machine before you can use any ArcObjects components. The Version assembly provides APIs for runtime binding and also includes the RuntimeManager class to enumerate the ArcGIS products currently installed on a machine, as well as their installation location. 

Enhancements to existing libraries

A number of libraries have been updated with new interfaces and classes. The following subsections provide an overview of the key enhancements.

ArcMapUI

The ITableWindow3 interface has been added to the ESRI.ArcGIS.ArcMapUI library. This interface has three members, ITableWindow3.IsOpen, ITableWindow3.FindOpenTableWindows, and ITableWindow3.ActiveTableWindow, to interrogate active table windows in ArcMap.

Carto

The MosaicLayer class for displaying mosaic datasets has been added to the Carto library.

Controls

The following enhancements have been made to the Controls library:
  • The ControlsFindRouteCommand class has been added. This command opens the Find Route dialog box, which lets you find routes between points using a variety of methods. You can find an optimized route, which is the most efficient travel route between the points you select, or you can find a route from point to point based on an order you select. You can set the points, or stops, by clicking the map with your mouse, by adding them from a layer, or by geocoding them.
  • An ArcGIS Engine Developer Kit License is (and has been in previous releases) required to develop applications that embed ArcGIS Engine controls, such as SceneControl, GlobeControl, TOCControl, and ToolbarControl only. At ArcGIS 10, an ArcGIS Engine Developer Kit License is also required to develop applications using MapControl and PageLayoutControl as well.
  • The separate assemblies that were delivered for each individual control (AxMapControl, AxTOCControl, and so on) have been removed. These were deprecated at version 9.2 when the individual controls were merged into the combined Controls assembly. 

DataSourcesRaster

The following enhancements have been made to the DataSources library:
  • The following classes that can manage a large collection of images and provide dynamic image processing capabilities are new at 10:
    • The FunctionRasterDataset class is a special type of raster dataset that encapsulates RasterFunction (a class that describes raster operations) and RasterFunctionArguments (a class that describes the required arguments for the operations) together. When it's accessed, the FunctionRasterDataset creates an output raster at run time by applying the raster function to the input data, which provides a mechanism for dynamic raster processing. A set of raster function classes has been added that includes HillShadeFunction, ClipFunction, ConvolutionFunction, SlopeFunction, StretchFunction, ArithmeticFunction, and PanSharpeningFunction.
    • MosaicDataset is a new raster data model that is used to manage a large collection of images with multiple formats and multiple sensors. It is supported in file geodatabases, personal geodatabases, and enterprise geodatabases. The RasterType class and a set of raster builder classes, such as LandsatBuilder, QuickBirdBuilder, and IkonosBuilder, have been developed to support various sensor types. A number of mosaic dataset operation parameter classes, including AddRastersParameters, BuildBoundaryParameters, and DefineOverviewsParameters, have been added to be used when authoring a mosaic dataset. (The MosaicLayer class, for displaying mosaic datasets, has also been added to the Carto library.)
  • The following classes were added to support sensor camera models:
    • LSRXform (local space rectangle transform)
    • FrameXform (standard frame camera transform)
  • The following interfaces have also been added:
    • IRasterColormap3—Used to read and write color map files (.clr).
    • IRawBlocks—Used to read and write pixel blocks based on storage blocks.

Display and DisplayUI

The following enhancements have been made to the Display and DisplayUI libraries, respectively:
  • Display—ServerStyleGalleryItem supports the IStyleGalleryItem2 interface. IStyleGalleryItem2 provides access to members that define items in the style gallery. Symbols and map elements are stored in the style gallery. Symbol or map element tables within a style have a new field, Tags, that contains references to the graphic properties of each symbol. Tags can be read from the item within the style gallery using the Tags property from IStyleGalleryItem2.
  • DisplayUI—The StyleItemEditor coclass supports the IStyleItemEditor interface. IStyleItemEditor can be used to edit the properties of a style item, such as style, title, and so on.

Framework

The following interfaces have been added to support dockable windows:

Geodatabase

The following enhancements have been made to the Geodatabase library:
  • The workspace editing event model has been extended to include the IWorkspaceEditEvents2 interface. This interface exposes an event—OnBeginStopEditing—that is triggered when client code calls IWorkspaceEdit.StopEditing and allows custom behavior to occur before the edit session has been stopped. This is in contrast to IWorkspaceEditEvents.OnStopEditing, which is triggered after the edit session has already been stopped.
  • IQueryDef2 has been added to allow for support of postfix clauses, such as Order By and Group By, through the PostfixClause property; prefix clauses, such as Distinct, through the PrefixClause property; and recycling cursors, through the Evaluate2 method. The IQueryFilterDefinition2 interface has also been added to query filters to support prefix clauses.
  • Several triangulated irregular network (TIN) related interfaces, such as ITinAdvanced3, ITinEdit2, ITinImporter, and ITinSurface3, for data management and analysis have been added. New terrain related interfaces, such as IDynamicSurface3, ITerrain2, ITerrainDataSource2, ITerrainEdit3, ITerrainEmbeddedDataSource2, and ITerrainFieldStatistics, for data management and analysis have been added as well.
  • NetworkForwardStar—The INetworkForwardStarEx interface has been added to support the new barrier types (polygon, polyline, and point barriers that do not block the whole edge). INetworkForwardStarEx also centralizes the setup and querying used for network traversal that was previously spread across the INetworkForwardStar and INetworkForwardStarSetup interfaces.
  • Network dataset—The DENetworkDataset coclass has a new IDENetworkDataset2 interface that allows you to specify new properties added to the network dataset, such as the elevation connectivity model and traffic data. There is a new NetworkEdgeTrafficEvaluator coclass that allows a network attribute to return travel time values that vary based on the time of day. The NetworkAttribute class has a new property that indicates whether the attribute is time aware and the network elements have new properties that allow you to query attribute values for a specific time of day. This might be of interest to developers using NetworkForwardStar.

Geometry

The following enhancements have been made to the Geometry library:
  • The IConstructClothoid interface has been added to support clothoid curves. A clothoid curve (or Euler spiral) is often used in railway and highway engineering to allow gradual transition between tangents or circular curves. Also at ArcGIS 10, 3D polylines can support vertical line segments. For more information on vertical line segments, see Working with vertical polyline segments.
  • The IPolycurveGeodetic and IConstructGeodetic interfaces have been added to support the construction of densified approximations of geodetic curves. These interfaces allow you to construct circles and ellipses that are defined using geodesic distance. Also, you can now compute distance between points on geodesic, loxodrome, great elliptic, or normal section curves.
  • The IGeometryServer2 interface provides access to more standard operations on arrays of geometric value objects. Similar to IGeometryServer members, the input geometries are never modified by these operations.

Geoprocessor library and toolbox reference

A new ESRI.ArcGIS.Geoprocessor assembly has been added to manage execution of geoprocessing tools and geoprocessing events, and several new geoprocessing tools have been added as well. For a comprehensive list of new tools, see New and improved geoprocessing tools in ArcGIS 10.

Location

The following interfaces and coclass have been added to the Location library:
  • ISingleLineAddressInput—Used to determine if a locator supports single line geocoding. It contains the SingleLineAddressField property, which specifies the field that the locator uses to geocode addresses in a single line format. It also contains the DefaultInputFieldNames property to determine which field in an address table contains the full address for single line geocoding.
  • IGeocodingProperties2—Used to specify EndOffsetDistance as a double and specify EndOffsetDistanceUnits as esriUnits for locators that are built using ArcGIS 10 and above.
  • ESRIGen2AddressLocator—A locator (coclass) that uses the ESRI geocoding engine introduced in ArcGIS 10. This address locator supports single line input for geocoding.
  • IBatchGeocoding—Implemented by every locator and contains a subset of the methods that IAdvancedGeocoding contains. Use IBatchGeocoding instead of IAdvancedGeocoding when there is no need to access standardization methods or when a locator does not support standardization. IAdvancedGeocoding contains the RematchTable and MatchRecordSet methods.

NetworkAnalyst

The following enhancements have been made to the NetworkAnalyst library:
  • Location-Allocation solver—A new Network Analyst (NA) solver, NALocationAllocationSolver, has been added. The Location-Allocation solver is often used to locate a set of warehouses to minimize transportation costs or to locate a set of locations, such as fire stations, to provide the best coverage in a specified travel time, or to locate retail outlets to best capture market shares in presence of competitor locations using a Huff model.
  • Polygon and polyline barriers—To provide support for polygon and polyline barriers, NALocationRangesObject, NALocationRangesFeature, and NALocationRanges track the lists of junctions and edge ranges, with the associated geometry, that make up barriers. The INALocator3 and INALocatorAgent3 interfaces have been added to use shapes and rows from feature classes to generate the location ranges associated with polygon and polyline barriers. The INAClassDefinition2 interface has been added to the NAClassDefinition coclass to help you find the location range field in the barrier NAClasses.
  • Locating—Sometimes, when locating analysis objects, it is important to exclude elements that are restricted due to network attributes or barriers. CacheRestrictedElements and ExcludeRestrictedElements have been added to INALocator3 to restrict the NALocator location queries from returning network locations that fall on restricted network elements.

Schematic

The Schematic library adopts a new architecture to simplify development and to take advantage of standard ArcGIS features. In the new architecture, NGO engine, which handled the schematic graphical core and formed the foundation for the in-memory schematic objects, has been removed.
Some of the significant improvements in the new architecture are as follows:
For more information on the Schematic enhancements, see What's new in ArcGIS Schematics 10.
For information on migrating your 9.3.1 code to adapt to the new ArcGIS 10 architecture, see Migrating schematic custom code to ArcGIS 10.

SystemUI

The IToolPalette interface has been added to the SystemUI library to define the properties of a custom tool palette.

Deprecated or removed

The following subsections describe items that have been deprecated or removed. The deprecated assemblies provide warning messages upon compilation. Remove the deprecated assembly references from the project, and add the appropriate new assemblies. 

ESRI.ArcGIS.ADF

The ESRI.ArcGIS.ADF assembly has been deprecated and replaced by ESRI.ArcGIS.ADF.Local. The ESRI.ArcGIS.ADF assembly contained a number of .NET utility classes that facilitated .NET development by taking advantage of a few .NET capabilities including object inheritance and static functions. For more information, see Migrating ArcGIS 9.3 Desktop and Engine custom components to ArcGIS 10.

ESRI.ArcGIS.ADF.Connection

The ESRI.ArcGIS.ADF.Connection assembly has been deprecated and replaced by ESRI.ArcGIS.ADF.Connection.Local. The ESRI.ArcGIS.ADF.Connection assembly contained .NET classes used to establish connections with ArcGIS Server.

VBA support

Visual Basic for Applications (VBA) for ArcMap and ArcCatalog has been deprecated at ArcGIS 10. VBA will not be installed with ArcGIS Desktop 10. To continue to use existing VBA macros for ArcMap and ArcCatalog at 10, a VBA license file must be requested from ESRI. However, it is recommended that no further development occur on VBA.
Beyond ArcGIS 10, ESRI will no longer support VBA as a development platform. Users who have custom functionality built using VBA 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. For more information, see Migrating VBA customizations to ArcGIS 10.

Visual Basic 6.0 application support

Visual Basic 6.0 applications were deprecated at 9.3 and removed at 10. ArcGIS Desktop customizations created in Visual Basic 6.0 cannot be registered to ArcGIS Desktop 10 and will not be operational. For migration strategies, see Migrating from VB6 to VB.NET.

ArcWeb library

ESRI no longer offers the ArcWeb Services product line, and the ArcWeb library and its classes, interfaces, and members have been removed. Any application that references the ArcWeb library cannot be migrated to 10 until and unless the references are removed. The alternative for ArcWeb services is ArcGIS Online Services.

DataSourcesSMUUI library

The DataSourcesSMUUI library has been removed. Use the new ControlsFindRouteCommandClass controls command in the Controls assembly, which provides the same functionality.

Survey Analyst extension

The Survey Analyst extension, which was deprecated at 9.3.1, has been removed. The subsequent SurveyDataEx, SurveyExt, and SurveyPkgs assemblies have been removed as well. The functionality of the Survey Analyst extension is now available through the Parcel Editor and Parcel Fabric features. For more information on the Parcel Editor and Parcel Fabric features, see the GeoDatabaseExtensions library overview.


See Also:

Migrating ArcGIS 9.3 Desktop and Engine custom components to ArcGIS 10
Migrating VBA customizations to ArcGIS 10
Migrating ArcGIS 9.3 Desktop and Engine custom components to ArcGIS 10
How to migrate ArcGIS 9.3 Desktop and Engine stand-alone applications to ArcGIS 10
How to run the ArcGIS Code Migration Analyzer
Migrating desktop editing customizations to ArcGIS 10
Migrating schematic custom code to ArcGIS 10
Building add-ins for ArcGIS Desktop




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