Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm new to the AddIn customization model in ArcGIS 10 and I'm trying to figure out how to change a button image for a button. I'm looking for the equivalent to the BaseCommand UpdateBitmap method and haven't had any luck. Is this a limitation of the AddIn model? Or did I miss something obvious?

share|improve this question
up vote 4 down vote accepted

Ok, I've worked something out using ICommandItem.FaceID. I wasn't initially thinking of using ICommandItem, but it gets the job done.

ICommandItem commandItem = ArcMap.Application.Document.CommandBars.Find(...;
commandItem.FaceID = ESRI.ArcGIS.ADF.COMSupport.OLE.GetIPictureDispFromBitmap(bitmap);
share|improve this answer

I have not worked with add-ins in ArcGIS 10, but looking at the documentation (see heading Add-in file anatomy), it appears that you would need to specify the image declaratively in the add-in's XML configuration (metadata):


    <!-- Omitted -->

    <AddIn language="CLR" library="Acme.dll" namespace="Acme">
                     category="Acme Tools" 
                     image="Images\ToggleDockWinBtn.png" <!-- Define image URI --> 
                     tip="Toggle dockable window."
                     message="Open dockable window.">
                       <Help heading="Toggle">Turns the ACME dockable window on and off.</Help>


See also the Advanced add-in concepts topic, which suggests that graphics should no longer be embedded as resources in the assembly.

share|improve this answer

The image used in the xml configuration file must have its property "build action" set to AddInContent - at least is vs2012 for arcgis 10.2.

share|improve this answer
How exactly does that address the question? – blah238 Apr 9 '14 at 4:19
While true, this doesn't answer the question. Maybe it could be a comment on Adam's question since his answer also pertains to the xml declarative. – Jay Cummins Apr 9 '14 at 12:59

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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