I've been hunting this problem for weeks now without success. Maybe someone can point me in the right direction.
I have developed many SE addins in VB.NET, using the community addin template. All but one function correctly and all but one happily co-exist together.
One particular addin I created several months ago continues to display some strange behaviour and I can't track down the origin of the problem.
In the development environment, it functions correctly. However, if I deploy to another machine, some or all of the ribbon buttons are not getting fired. On one of my test VM's, all buttons function correctly except one. I put a message box into 'OnControlClick' (to show the command id) and all buttons except for one bring up the message box.
Today I discovered that if it's the only addin installed on a test machine, the ribbon and its tab are visible (albeit with non functioning buttons!). However, if I install another addin, the ribbon and its tab are no longer visible!
This addin worked OK at 'version 1'. Sometime during development, I restructured the ribbon buttons, changed some button ids, etc. Of course I incremented AddinEx.GUIVersion, as I always do, but the problems did seem to start sometime after that.
Guid and ProgId are definitley unique to this addin. Is there anything else I need to check?
I'm reluctant to recreate this addin, although I'm sure the problem would go away if I did. Problem is that the solution has a few MS Reports rdlc definitions which aren't portable between projects. I really don't want to have to create them all again.
Appreciate I haven't given a whole lot to go on, but can anyone spot something obvious?
I haven't seen this problem before, but did you also ensure that the CommandNames are unique?
You could have copied and pasted some code without changing the command names. At least that could explain why it is working without any other addin. As soon as you register another addin with the SAME command names, SE might think that the command bar button were already added and does not do it for your addin with the duplicated names.
Just a shot in the dark...
I assume you are calling any of the SetAddinInfo/Ex/Ex2 methods of the ISEAddin/Ex/Ex2 object to register the addin and the commandbar during the OnConnectToEnvironment event of your addin object.
This call requires a name, ID and button style for each command of your addin. You pass these values in three separate arrays to the SetAddInInfo/Ex/Ex2 method.
Just make sure that any used name is not used in any other addin. It is wise to use some prefix to distinguish the command names between different addins.