2

I'm using 10.0 because that's what our customer that I'm attempting to build a custom add-in for is using.

I am following the "Walkthrough: Building custom UI elements using add-ins" from the ArcObjects help file in Visual Studio 2010 C#.

I'm attempting to install the build on a virtual that has ArcGIS engine runtime 10.0 using the esriAddIn.

I get an error "Installation failed. Matching ArcGIS installation not found.".

The walkthrough references ESRI.ArcGIS.Desktop.AddIns. I obviously don't have desktop on my virtual so in VS2010, I set the dll reference for that to "Copy Local" and copied it over with the esriAddIn installation package.

Is it possible to use the Desktop.AddIns reference and install it on a machine that only has runtime and not desktop?

  • 3
    Why do you want to do that? Add-ins extend desktop. Without desktop, there's nothing to extend. – Kirk Kuykendall May 24 '16 at 13:39
  • I'm attempting to use this with a Windows app that has the ArcGIS Map, Toolbar and TOC controls in it. The toolbar has the ability to customize it by adding built-in or custom tools. I'm attempting to build a custom tool. – bdk0172 May 24 '16 at 14:03
  • It is possible to write an extensible ArcGIS Engine app that has the Map, Toolbar and TOC controls in it - but you'll need to design your own extensibility framework. This can be done using Assembly.Load to load your extension, then perhaps IToolbarControl.AddItemafter you've instantiated a class (that implements ICommand) from your assembly. Again, this would need to be done in the ArcEngine app. – Kirk Kuykendall May 24 '16 at 16:09
  • Kirk, would you know how to extend that Engine App using an Esri Addin without having to install ArcGIS for Desktop, though? I doubt this is possible since the Addin would not be able to write its install contents to the application assembly cache, which wouldn't exist. – MrBubbles May 24 '16 at 20:40
2

It is not possible to use Esri Addins, regardless of whether you are using Python Addins or .NET Addins, to extend a custom application. You can only use Esri Addins to extend ArcGIS for Desktop applications (ArcMap, ArcCatalog, ArcScene, ArcGlobe).

The error you are receiving is likely the result of your target name and/or version value not being a legal entry in your Addin's config.xml. As indicated by the ArcObjects SDK 10 .NET Framework document on building addins for ArcGIS Desktop:

  1. The Targets element specifies the most compatible version and product of ArcGIS for the add-in. The Add-in installation utility will install the add-in only to the product and version specified in the Targets element. At present, the only legal values for the name and version attributes are Desktop and 10.0, respectively.

This is true of the name attribute even in the latest version of the ArcObjects .NET SDK (10.4) - the only legal value is 'Desktop' although you can use different versions now. This means you can only build Addins for ArcGIS Desktop applications. They cannot be used to extend custom applications, even if those applications were built using ArcEngine or the .NET Runtime SDK.

The developer likely included the capability to extend the toolbar using built-in or custom tools with the intent of allowing a user who had ArcGIS for Desktop installed to add tools installed with ArcGIS for Desktop to the custom application you are trying to extend.

For example, if you installed ArcGIS for Desktop on your VM, you would get access to a whole bunch of tools that are built into Desktop applications like ArcMap. These are referred to as 'Built-In' tools and you can add them to an addin by referencing their ProgID. Esri's Jason Pardy demonstrated this in a blog post detailing how to do this with a Python Addin but it works with .NET Addins as well. Next, if you developed a custom Addin, using .NET or Python, and specified the target as Desktop, and in your case specifically built the addin for ArcMap, that addin would install to ArcGIS for Desktop and be available within the ArcMap application. From there, you'd likely be able to add that custom Addin tool to the application.

Again, it all hinges on you having ArcGIS for Desktop installed though, since that is the core dependency of all Esri Addins.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.