There can be several reasons causing the Add-In to not load, you will find below commonly encountered ones.
After you try each step and the add-in still doesn’t load, make sure you perform the following before you move to the next step:
1. Close all instances of the Office application in question. Make sure there is no running instance of the Office application by checking in the task manager.
2. If your add-in is supposed to be loaded at application startup, look at the LoadBehavior for your Add-In in registry and make sure it is set to 3. This is necessary because, whenever an Add-In load fails, Office disconnects the Add-In (Loadbehavior changes to 2).
Steps common to both managed and unmanaged Add-Ins
1. Make sure your add-in is not listed in the Disabled Items.
When an Add-In causes a critical error in the Office application (crashes the app), it is marked as disabled and Office will not attempt to load it from then on.
In Office 2003 and earlier versions, you can access “Disabled Items” list from: Help menu > About > “Disabled Items”.
In Office 2007, you can access “Disabled Items” list from: Office menu > {Word/Excel/PowerPoint} Options > Under “Manage” select “Disabled Items” and then click Go.
Note that if your Add-in is a Shared Add-In which does not use a COM Shim then you will need to check if mscoree.dll is listed in the “Disabled Items” list. If you find that your Add-In component is listed in the list, enable it and retry.
2. Make sure there is no error thrown by IDTExtensibility2::OnConnection and IDTExtensibility2::OnStartupComplete event handlers.
You can place the entire content in these event handlers inside a try/catch (or equivalent) error handling block and log the exception.
You should avoid showing a message box from these event handlers, rather write the exception to a file or use Windows API functions like OutputDebugString and use DebugView to look at the messages.
DebugView can be found at: http://www.microsoft.com/technet/sysinternals/Miscellaneous/DebugView.mspx
3. Make sure all the required dependencies for your Add-In are present on the target machine and we are able to instantiate the COM component. The easiest way to do this would be to create a simple VBS (VB Script) file with just a CreateObject line and run the VBS file:
-------------------
set o = CreateObject(“ProgId”)
-------------------
where, ProgId is the programmatic identifier for the Add-In’s connect class. E.g. : “MyAddIn1.Connect”.
4. The Antivirus on the system may be blocking the Add-In load. Run latest updates for the Antivirus and retry. If this doesn’t help, disable the Antivirus program completely and retry. Sometimes the Antivirus software also installs additional Office add-in, you may need to disable these additionally by running through the Antivirus control panel (Settings). Here is one such KB article that talks about Norton Antivirus:
How to use Office programs with the Norton AntiVirus Office plug-in
http://support.microsoft.com/kb/329820
5. There may be a conflict with other add-ins that are being loaded in the Office application. Disable all other Add-Ins except the one in question and retry.
To disable COM Add-Ins, look at the following registry path (assuming it’s a Word Add-In):
HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Word\AddIns
and change the LoadBehavior for each Add-In where the LoadBehavior is “3” (3 = Load on startup + Connected) to “2” (2=Load on startup)
Note: Office 2003 and earlier versions do not show machine level Add-Ins (ones registered under HKEY_LOCAL_MACHINE) in the COM Add-Ins dialog.
To know more about the different LoadBehavior values, please refer:
How to build an Office 2000 COM add-in in Visual Basic
http://support.microsoft.com/kb/238228