Custom extensions

6149
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
MarcN
by
New Contributor III
Of course this would be a good solution, BUT we are mainly using Visual C++ for COM programming and COM categories are a basic COM mechanism. So I can not accept, that ESRI now simply do no longer support custom COM categories which are a part of COM and no ESRI specific thing.
0 Kudos
by Anonymous User
Not applicable
Original User: kirkktx

we use our own COM categories in our extension


AFAIK Microsoft has no plans to deprecate COM categories, so if you want to continue to use them, I don't see how ESRI could prevent that.

Are you using ESRI's ICategoryFactory for discovery/instantiation ?

I've seen nothing from ESRI indicating they plan to deprecate this, but if you have concerns you might consider moving to a non-ESRI alternative to ICategoryFactory.  Maybe something like this.

Or are you saying you have an Extension registered in the ESRI Mx Extensions category that is not be instantiated by Arcmap 10.0?
0 Kudos
MarcN
by
New Contributor III
The fact is that the esriregasm tool in ArcGIS10 does not write the COM category registration information to the registry. Only to their own config format. So The standard COM ways to access those COM catgeories do no longer work. I would accept this if they only handle their own COM categories this way. But I can not accept that my own categories are also handled this way.
0 Kudos
by Anonymous User
Not applicable
Original User: jnaveen

I have my Extensions registered in the ESRI Mx Extensions category but that is not  instantiated by Arcmap 10.0 and displayed in ArcGIS Extensions list? The same stuff was showing up correctly in 9.3.1 though.

The class itself not even getting instantiated. These are c++ classes.

Any ideas...
0 Kudos
JeffJenness
New Contributor
I don�??t have specifics on when the instructions will be released or what form it will be in, but it will probably be a blog or a KB doc.   


Hello Ralf,
I've been looking for this blog or KB but I haven't seen it yet.  Do you have it posted anywhere?
Thanks!
Jeff Jenness
0 Kudos
by Anonymous User
Not applicable
Original User: 13446

We will provide documentation that will describe how customers can register their legacy components with ArcGIS 10.  Like you said, ESRI will not provide support for this workflow, so if it doesn�??t work you will not be able to call Technical Support.  There will be no guarantees that this registration process will work, and no guarantees that the component will work in the new version.


Ralf, we too are interested in this documentation.  Thank you in advance for this very useful workflow.

Now before I ask this next question I want to make it clear:
1. We understand ESRI no longer supports VB6
2. We are in the process of migrating most of our apps to .NET
3. We are only looking at temporary measures to prolong the life of large legacy applications which are simply too close to the end of their life cycles to justify the expense of full migration

Given the removal of the VB6 SDK at 10, and beyond the challenges posed by the move to ESRIRegASM, I'm wondering how others are dealing in Beta 10 with the brand new requirement for product binding in code prior to accessing IAoInitialize for checking out a license:

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//0001000002ns000000#Run...

The .Net SDK comes with a new assembly ESRI.ArcGIS.Version.dll that contains the necessary class, which if you're trying to migrate a VB6 DLL does you no good.  I've interrogated most of the Beta 10 olbs in Program Files\ArcGIS\com (including esriSystem.olb).  No sign of the RuntimeManager class, nor the "Bind" method that clears the way for accessing the IAoInitialize object without invoking the "ArcGIS version not specified" error.

Is the solution found in this new 10 library C:\Program Files\Common Files\ArcGIS\bin\ArcGISVersion.dll?  If so, can anyone who has successfully implemented this in VB6 share a code snippet?

And to ESRI: if this requirement to Bind (and not the ESRIRegASM, which seems to have workarounds) is the real showstopper, if you know for a fact there will be no way to fulfill the new Binding requirement using VB6-eligible architecture, it would be great if you could just come out and say that, so I can relay this ultimatum up the food chain here at work.

Thanks in advance.
0 Kudos
BrianFlood
Occasional Contributor
hello gottralf/esri

Has there been any movement on releasing the documentation for installing legacy components/extensions? I'm sure many here fully intend to port existing code over to the new framework eventually however, a stopgap measure (unsupported as it may be) for early 10.0 users would be very helpful

it has been 4 months since you posted about this documentation, meanwhile the release of 10.0 is imminent. I, along with others, have backup plans for installing legacy components but I fear multiple vendors/developers mucking around to force installation, without some clear direction from ESRI, is going to be problematic on many machines.

I appreciate your efforts on the matter!
cheers
brian
0 Kudos
by Anonymous User
Not applicable
Original User: ralfg

The following KB document has been published with instructions showing how to register legacy components with ArcGIS 10.0.

http://resources.arcgis.com/content/kbase?fa=articleShow&d=37639

I hope you find this useful and it helps in your migration processes.
0 Kudos
BrianFlood
Occasional Contributor
this appears to work as advertised, great work.

many thanks!
brian
0 Kudos
by Anonymous User
Not applicable
Original User: cheynm@yahoo.com

Anybody got any guidance if none of these tricks seem to work with my VB6 extension and toolbar?

At 9.3.1 and prior, we install our extension using an MSI, which registers all the classes in the DLL, and which invokes a *.reg file to do component category registration of the extension, toolbar, and commands.

On ArcGIS 10 prerelease/XPSP3, I've run the installer and verified that all the classes are registered. Then I use ESRIRegAsm.exe with the /f switch to do component category registration based on the *.reg file. I check the zipped xml config file that get created, and it doesn't seem to have correct information - the component category GUID is not familiar, some classes are not registered, some are, and some extraneous unknown classes are registered. So I hand edit the XML using the *.reg file as a guide.

and nowhere along the way does my extension show up in ArcMap's list of extensions, nor my toolbar in the list of toolbars.

Anybody else having this sort of trouble?

thanks, Mark
0 Kudos