Howto: 如何在ArcGIS10中注册继承的组件

文章编号 : 37639
软件: ArcGIS - ArcEditor 10 ArcGIS - ArcInfo 10 ArcGIS - ArcView 10 ArcGIS Engine Runtime 10
操作系统: N/A
已邀请:

EsriSupport

赞同来自:

摘要:
以下文章给ArcGIS开发者提供介绍如何在ArcGIS 10中注册继承的组件。 继承组件是指在早期ArcGIS版本中编译的组件。 以下步骤只是出于升级的目的,ESRI建议开发者去重新编译和重新部署在每个版本中。 ESRI不提供以下流程的任何技术支持。如果以下步骤没法实现,这个组件必须在开发环境中重新编译。 在以往的ArcGIS版本中,开发者可以创建自定义组件并按照自定义的类型将其注册到特定的COM程序集中,当ArcGIS应用程序启动时,它将加载相关组件从程序集中。由于自定义组件并非在ArcGIS安装时被注册,在卸载ArcGIS时,它们将不被删除,因此,当用户将其升级到下一个版本组件时,它们将被自动被ArcGIS加载. 许多开发人员将利用这一功能来创建跨越多个版本的自定义组件。ESRI公司不支持或推荐这种做法,并建议所有自定义的组件要在各版本中编译和充分的测试。在版本的更替过程中,有些功能会改变,因此对于开发者来说在新的版本里运行,重新编译和部署是很重要的。对于开发人员来说重新查看和设计的自定义的功能,以确保他们充分利用了新版本的功能 在ArcGIS10中,不再通过读注册表来加载自定义组件。组件是通过RegSvr.exe和RegAsm.exe注册到程序集中,或者通过其它的注册方法(如:使用.reg文件),这些方式不再被ArcGIS加载。相反,开发者将可以使用ESRIRegAsm.exe注册他们的组件。这个工具能够注册.dll和通过创建配置文件(.ecfg)的信息。ArcGIS通过读取配置文件信息来加载自定义组件。此配置文件必须驻留在相应的产品和版本的配置文件夹。例如,ArcGIS10桌面自定义的配置文件放在以下目录中: %CommonProgramFiles%\ArcGIS\Desktop10.0\Configuration\CATID ESRI理解有许多用户有继承组件在跨版本中使用。 以下步骤介绍了如何在ArcGIS10中注册继承组件,使用用户能继续使用他们的组件通过升级。
内容: 有两种类型的dlls在arcgis中注册:一种是用自己的组件程序集进行注册(如:C++或.NET),另一种则不是。这两都会产生一个配置文件(.ecfg)使ArcGIS能识别这些自定义内容。
这些配置文件可以通过安装程序来部署到电脑上。配置文件可以放置在补丁包中。
如果由注册程序集支持的语言写的组件,可以用ESRIRegAsm.exe来进行注册。以下是一个如何用ArcGIS Desktop注册一个dll的例子。
%CommonProgramFiles%\ArcGIS\Bin\ESRIRegAsm /p:Desktop "C:\Program\MyDll.dll" 如果dll不支持程序集注册,例如开发者使用脚本或者.reg文件去注册他们的组件,开发人员还可以利用此方法来注册的程序集其它信息。以下是一个添加自定义命令到ESRI Mx命令集里的例子。

REGEDIT4
; Coclass: prjDisplay.ZoomIn
; CLSID: {FC7EC05F-6B1B-4A59-B8A2-37CE33738728}
; Component Category: ESRI Mx Commands
{HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{FC7EC05F-6B1B-4A59-B8A2-37CE33738728}
\Implemented Categories\{B56A7C42-83D4-11D2-A2E9-080009B6F22B}]
reg文件可以直接使用ESRIRegAsm创建,写法如下:

%CommonProgramFiles%\ArcGIS\Bin\ESRIRegAsm /p:Desktop "C:\Program\MyDll.dll" /f:"C:\Progam\myRegFile.reg"
如果想用其它的注册机制,开发人员可以创建一个.xml配置文件,这个配置文件可用于ESRIRegAsm工具,以创建.ecfg配置工具。
用以上相同的命令使用Notepad.exe或者是XML Editor可以创建XML文件 ,用XML Editor语法如下:

<Categories>
<Category CATID="{B56A7C42-83D4-11D2-A2E9-080009B6F22B}">
<Class CLSID="{FC7EC05F-6B1B-4A59-B8A2-37CE33738728}" />
</Category>
</Categories>
保存这个文件为Config.xml。运行ESRI Regasm,采用如下写法:

%CommonProgramFiles%\ArcGIS\Bin\ESRIRegAsm /p:Desktop "C:\Program\MyDll.dll" /f:"C:\Progam\Config.xml"




创建时间:2010-03-08
最近更新: 2010-06-29


原文链接
http://support.esrichina.com.cn/2010/0308/898.html

要回复问题请先登录注册