This page describes the functionality added to the current release for all products in the ArcFM Solution suite.
This page outlines the upgrade steps for various ArcFM Solution applications. These are basic required upgrades and do not include configuration for new tools. If you are skipping release versions (e.g., upgrading from 9.3.1 to 10.0.1), note the following:
- DO NOT install each release in between. Only install the version to which you're upgrading.
- DO review the upgrade steps for each release in between the original version and the one to which you're upgrading. Perform any additional upgrade steps outlined on these pages (e.g., recommended Esri patches, Responder upgrade steps, Process Framework database upgrades, etc.).
- DO run the Create/Update ArcFM Solution System Tables tool only once. There's no need to run it multiple times.
- DO run the Upgrade ArcFM Solution Database tool only once. There's no need to run it multiple times.
- DO review the What's New page for each release in between. These pages will outline the new functionality available to you.
- DO review the Migration pages for each release in between. These pages will let you know if you need to compile custom code.
Migrate Custom Code
This section offers some tips for migrating custom projects to ArcFM Solution 10.0.1 as well as a list of API changes that may impact your custom code. Be sure to review the API changes and perform any migration steps for releases between your original version and the one to which you are upgrading. A list of Migration topics for previous releases is available at the bottom of this page.
If you have custom code (VB6 or C#), be sure to review the following flow chart for upgrade instructions.
Visual Basic 6
Visual Basic 6 (VB6) components are not supported in ArcGIS 10 applications and cannot be registered with ArcGIS 10 tools (reference). Microsoft has no plans to include the VB6 runtime in future versions of Windows beyond Windows 7 (reference). It is advisable, at the very least, to develop all future components in .NET (C#, VB.NET, C++).
However, with ArcFM Solution versions 10.0.1 and later, Telvent provides a registration API and tool (RegX.exe) to include VB6 COM category components in ArcGIS 10.0. RegX requires components to implement IMMReginCat (see help here). For more information, review the Component Category section below.
COM Event Interfaces
ESRI removed a number of COM helper classes used by Visual Basic 6 components that wrap event interfaces. These objects are required by Visual Basic code that listens to events from the map, ArcCatalog, etc. Telvent is providing new wrappers for many of these event interfaces. These are available as part of ArcFM Desktop 10.0.1. Custom code that uses event interfaces different from the ones in ArcMap may need custom wrappers as well.
MMGxCatalogEvents (use in place of GxApplicationEvents)
MMEditor (to replace EditorEvents – requires setting to MMEditor extension)
MMEditor2 (to replace EditorEvents2 - requires setting to MMEditor extension)
Using RegisterInCat.exe to register a custom *.dll is no longer supported with the release of ArcGIS 10 and ArcFM Solution 10.0.1. In the past, ArcGIS stored categories in the registry. RegisterInCat.exe manipulated the registry to insert new executables into the proper categories. This is no longer the case.
With the release of 10, ArcGIS no longer uses the registry to store categories, but instead uses *.ecfg files to store the associations between *.dll files and categories. The latest version of RegX.exe creates these *.ecfg files and stores them appropriately. The default behavior is to store the *.ecfg files in a location designated for ArcGIS Desktop. Various options allow you to create *.ecfg files for ArcGIS Engine applications or uninstall existing *.ecfg files.
RegX.exe is installed in the ArcFM Solution\bin directory. Refer to the Customization Guide (ArcFM Solution Basics) for more information about RegX.exe and its various options.
In ArcGIS 10, ArcMap implements IGxApplication as well as IMxApplication. This matters if you've written custom code that detects the presence of the ArcMap or ArcCatalog environment by obtaining a reference to the application and looking for one of these interfaces. If this custom code detects IGxApplication and determines that it's running in ArcCatalog, then with ArcGIS 10, it will always determine it's running in ArcCatalog.
The alternative is to use MMRuntimeEnvironment object which will definitively return the current application context in which your code is running. MMRuntimeEnvironment is documented in the mmSystem COM object library.
The following API changes may impact your custom projects.
- Miner.Server.REST assembly
- Miner.Server.ArcFMSOEProperties namespace
ArcFM Server Assemblies for ADF: