Freigeben über


Third Party Add-ins and Outlook 2007

While we spend a great deal of time and effort to ensure that the Outlook platform is 100% backwards compatible with previous versions of Outlook, occasionally add-ins do something unexpected, or use the platform in an unexpected or undocumented way.  These add-ins can misbehave and cause problems when running against a new version of Outlook (such as Outlook 2007) where they have not been fully tested by the software developer.

Many beta testers found this out the hard way during the Office beta 2 release when some very popular add-ins caused Outlook to crash unexpectedly while sending mail or performing other common tasks.

I've been working closely with a number of ISVs and software developers to ensure that these problems are fixed correctly.  Sometimes we've broken the way something works and we have to fix it on the Outlook side.  Sometimes the problem lies in the way the add-in works and the add-in needs to be updated.  Often this means that the end user needs to disable the add-in until a new version is available.

Because add-in release cycles are not necessarily tied to Office/Outlook releases, this can cause a problem for some users.  In the interim between when a new version of Outlook is released and add-ins are updated, you may need to disconnect an add-in to continue to use Outlook effectively.

To Disconnect an Misbehaving Add-in:

  1. Start Outlook.  If you cannot start Outlook because an add-in is causing it to crash immediately, you should be prompted to disable the add-in (in B2TR or later builds), otherwise use the command line outlook.exe /safe to boot in safe mode.
  2. From the Outlook window, select the Tools menu, and then Trust Center.
  3. Click on the Add-ins tab, and then click the Go button at the bottom of the page.
  4. Disable one or more third party add-ins listed in the dialog.  If you were directed here from a crash report, you should have seen information on which add-in was responsible for the crash.  Find that add-in and uncheck the box next to the add-in.
  5. Click OK.
  6. Restart Outlook.

To Enable a Disabled Add-in:

If you're a developer working on an add-in, and Outlook has disabled it, or you are a user who wants to try an add-in again that was previously disabled, you need to access the Disabled Items dialog to enable the add-in.  While you can access this from the Trust Center via the Add-ins tab, the easiest way in Outlook is to select the Help menu, then Disabled Items.  Find the add-in on the list of disabled items, select it, and click the Enable button to enable the add-in again.

Keep in mind that if the add-in was disabled, it's likely because Outlook believes the add-in is misbehaving.  There are some add-ins that are disabled immediately when Outlook is installed, and others that are disabled because Outlook detected a problem.  In all cases, you should only enable an add-in again if you are sure that it is not causing any problems in Outlook.

 

Technical Details for Changes in Beta 2 Technical Refresh

If you aren't a developer or a technophile, I suggest you skip this part.

In response to a number of third party problems we've seen during the Beta 2 release of Outlook, we've made a change to the add-in resiliency logic that Outlook uses.  Early in the Outlook 2007 release cycle, we decided to make a change to the way Outlook handles errors from installed add-ins.  Previously Outlook would catch exceptions from add-ins and silently ignore them.  This prevented Outlook from crashing immediately, but Outlook usually would crash later because memory somewhere had become corrupted, and it was just a matter of time before this caused a problem.  For Outlook 2007, we now crash immediately when the add-in throws an error, allowing us to better understand the root cause of the failure.  Instead of crashing later in some random code, we now crash at the actual cause.  However, this change caused Outlook to crash a lot more frequently due to a number of add-ins that expected to be able to throw exceptions without consequence (which is a really bad expectation).

Previously in Outlook 2003, if an add-in caused Outlook to crash while the add-in was being initialized (OnConnection) or disconnected (OnDisconnection), then the add-in could be added to the disabled items list, which prevents the add-in from being loaded or running.  If an add-in crashed later, say in an event handler (the most common place we saw crashes in beta 2), then Outlook would crash, and the add-in would not be disabled.  This meant that it was possible to have a very bad experience in Outlook where every time Outlook boots, it crashes due to a misbehaving add-in.  The only recourse was to use safe mode to disable the add-in, which most users would not immediately discover.

Now, in B2TR Outlook will also perform the same resiliency action if the add-in causes Outlook to crash during an event handler.  Outlook will still crash, but upon the next boot of Outlook, you will be presented with a dialog asking if you want to disable the add-in.  This way, users who are seeing a large number of add-in related crashes in beta 2 should only see a couple of crashes in beta 2 technical refresh because the add-in can be disabled easily by the user (and we default to disable if the user accepts the prompt defaults).

Comments

  • Anonymous
    September 12, 2006
    PingBack from https://blogs.msdn.com:443/mstehle/archive/2006/09/12/750655.aspx

  • Anonymous
    September 12, 2006
    I think these changes to Outlook add-in behavior are a great step in the right direction. Particularly, Outlook's immediate response to exceptions. In the past, developing and debugging add-ins could be tricky due to the unpredictable behavior described. I'm impressed with all the investments in Outlook programmability for 2007 and look forward to working with the TR.

    Frank Kang
    ClearContext

  • Anonymous
    September 13, 2006
    Ryan, it would be great in a future blog entry if you could post more of what you've learned in working with ISVs. I'm sure many developers would like to see Microsoft provide more prescriptive guidance about best practices in Outlook add-in development.

  • Anonymous
    September 19, 2006
    Yes, compatibility of third-party Outlook add-ins is exciting issue for most Outlook programmers and users. And when it is not a standard product but custom Outlook add-in is created for specific user needs, and new updates are not provided, it is a problem of further customer support.
    Either it is timely updates releasing or post-productive customer support question, developers need more detailed guidelines on Outlook software.

  • Anonymous
    October 01, 2006
    Hi I am needing help with outlook 2007 and did not know where to turn. Outlook will not open due to an ADDIN MSSPC.ECF. Outlook will not start and does not offer an option to turn anything off. It just says unexpected error and then shutsdown. Any help would be greatley appreciated. Thanks

  • Anonymous
    October 02, 2006
    Daniel, try running Outlook with the /safe switch.  On Windows XP, click Start -> Run -> and type outlook.exe /safe.  On Windows Vista, it's Start -> Programs -> Accessories -> Run, then type the same thing.  This should disable the ECE and allow Outlook to run.  You can then disable the ECE from the Trust Center.

  • Anonymous
    October 02, 2006
    Thanks a lot that helped and allowed me to fix the problem.

  • Anonymous
    October 02, 2006
    Caught in the middle!Better diagnosis of the problem would help. We have an Outlook Add-in that crashes on one PC, intermittently on another but is fine on the majority. Our third party vendor just blames Outlook or our PC setup but the add-in is dumping their error messages in the event log. SO if Outlook 2007 can help to identify where the problem lies, that will make my life easier.

  • Anonymous
    July 16, 2008
    If you have COM AddIns written in Outlook 2003 and earlier that you want to know what we are doing to