Select to view content in your preferred language

Custom extensions

6427
54
Jump to solution
10-23-2009 06:56 AM
by Anonymous User
Not applicable
Original User: 164549

None of my custom developed extensions are showing up under Customize->Extensions, yet all the ESRI extensions are there.  Is there some new development process or different setting needed to make them show up?
0 Kudos
54 Replies
by Anonymous User
Not applicable
Original User: rlwatson

What I did was to reverse engineer what ESRI did.  I did this by creating some .NET components, running ESRIRegAsm on them, and then viewing the generated XML.  I then made up similar XML files, zipped them, and finally renamed the zip to ecfg for my VB6 projects.  It works fine.  If you really need an example of a working VB6 component ecfg then email me (rwatsonattelcordiadotcom).

The GUID that is used is different than what ESRI previously used.  I believe that it is now the GUID of the type library.  My experience that this only matters because it determines the load order of the components, i.e. low GUID to high GUID.
0 Kudos
RalfGottschalk
Esri Contributor
Mark,

There is no other location, and you do require admin privileges to register you custom components.  Our non-admin component story is with Add-ins.  They don�??t have all the extensibility points, but they are nice and easy to deploy on a per user basis. 

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_Ar...

rlwatson,

We don�??t recommend you zip XMLs and then rename them, we�??d prefer you use ESRIRegasm instead, though it probably will work most of the time.  And since we don�??t really support VB6 dlls I guess you can do whatever you want.  But just so you are aware, the KB doc here describes how you can create *.ecfg files by using the reg files create the category information, or create an XML file and then plug that into ESRIRegasm.
 
http://resources.arcgis.com/content/kbase?fa=articleShow&d=37639
0 Kudos
by Anonymous User
Not applicable
Original User: guilletvm

It appears to me that when you run the ESRIRegAsm tool that it produces a file in the following directory:

C:\Program Files\Common Files\ArcGIS\Desktop9.4\Configuration\CATID

The name of the file is something like {GUID}_name.ecfg.  The file itself is really a zip file which contains a file named config.xml.  It appears that ArcMap is using this file to determine component categories versus that which is in the registry.

I did the following:

1) Used the VB6 sample which has a tool bar, extension, and zoom in and out commands and built the DLL and reg file needed on a 9.3.1 system
2) Tested the sample on 9.3.1; no problems
3) Tested the sample on 9.4 using ESRIRegAsm; it does not work
4) Went to the CATID directory, extracted the config.xml, manually repaired the XML, and put it back in the zip
5) Tested the sample, no problems

ESRI, why don't you provide a trivial tool which does this?


When you say you "manually repaired the XML" what did you have to do?
0 Kudos
RichardWatson
Frequent Contributor
I sent you an email Vince.

When I first encountered this issue, ESRI provided no documented way to register VB6 components.  The position of ESRI was, and still is, just not to use VB6.  What I had to do was to reverse engineer the logic and build the ecfg files by hand.

ESRI subsequently provided the following:

http://resources.arcgis.com/content/kbase?fa=articleShow&d=37639
0 Kudos
YuanLiu
Occasional Contributor

The updated link to KB Article 37639 is 37639 - Register Legacy Components with ArcGIS 10

0 Kudos