How to create a MindManager add-in using Visual Studio

This page is intended for accumulating tips and knowhow on creating MindManager add-ins using Visual Basic in Visual Studio.

=Introduction= In February 2011 there was a discussion on the MindManagerDev yahoo group on the relatively limited documentation of the MindManager Object Model and the challenges for new developers to get past the learning curve for creating add-ins for MindManager.

Nigel Goult of Olympic Limited generously shared a 7 step tutorial on how to make a simple "Hello World" add-in for MindManager using Visual Studio. The required registry settings file can be downloaded. Nigel has also provided a full working example for download that includes the ribbon portion.

=Resources= There is additional information on add-in development in the Mindjet 7 DevZone. There is also some old information on adding commands to the user interface

New developers and hobbyists may also find the source code for MindReader in the MindManager Macro Library and the Outlook Macro Library which has BA Code for Outlinker useful for seeing examples of how to interact with the MindManager object model.


 * MindManager 7 Object Model (useful for all versions)
 * How to create a mindmanager add-in in 7 steps (from olympic limited)

=Experiences/Tips=

target-PC. Re: Closing unmodified maps in VB
 * "Addin name not registered". The id in the add command needs to match application name.  If you are using a template (or copying from of your own projects, make sure you are careful about this.  You may find the add-in works on a pc that has the earlier add-in registered but not on a user who is only seeing this one.
 * Changing the target from 8 to 9 (or 9 to 8) after initial setup:
 * Remove the reference to the MM9 Type Library
 * Once it's gone replace with the MM8 Type Library
 * Right click the SetUp Project and select "View->Registry"
 * Replace the "9" with an "8" in the following key: HKEY_LOCAL_MACHINE/Software/Mindjet/MindManager/9/Addins/YourAddinName
 * Recompile and then install.
 * Make sure you compile for the last build of MM8 (8.2.319) and exclude the Interop.
 * To add files to installation, right-click the ExamplMindManagerAddinSetup project in the Solution Explorer and then select View->File System. You will be able to create folders and files at the point of install on the users machine and target various folders.
 * General Ribbon design information
 * "Unable to connect to the Map2Excel-addin" Try to register the Add-In manually using regasm.exe to see the errormessage. Sometimes it can give problem with the dependencies for the Add-In on the
 * Closing the active map (from yahoo dev list):

It took a while, but Nigel and I investigated this again and found that a command that tries to close the active document will fail, because by default the callback context for command transactions is the active document itself. So it is trying to remove the object that owns the command transaction. This is the reason that it says it "cannot execute command".

The solution is to disable the automatic callback context on the command object that is executed when firing the command:

YourCommandObject.AutomaticCallbackContext = False

If any of the buttons in the ribbon, control strip icons or context menus are potentially able to close the active document, then disable this property on the associated command object.