In my previous post I talked about the nightmare I was having trying to get TEO 2.0 to load on a customer’s machine. This happened to more than one person and I couldn’t figure out why or even fix it until I stumbled across the fact that installing it on another user account and choosing the Help -> Detect and Repair could fix it.

But I still didn’t know why it happened. Apparently there is this barely documented “feature” of Outlook that disables AddIns during load if Outlook detects that the AddIn was not loaded successfully. Why that happened is another issue altogether that I have to try and solve.

AddIn’s currently have a LoadBehavior registry value that is typically “3” for enable at startup and “2” if the AddIn is disabled. The TEO installer always resets this to “3”. This registry key can be found at HKLM\Software\Microsoft\Office\Outlook\AddIns\(YourAddIn’sConnectProgID).

There is also a HKCU flavor of this key so your AddIn can be in either one. If you are in the HKLM section, your AddIn will *not* show up in the COM AddIns dialog within Outlook. For this reason, I am considering making TEO 2.0 use the HKCU even though it would require that each user reinstall TEO.

But you would think that Outlook would simply set this LoadBehavior to 2 when the AddIn crashes just like it does when it can’t find the AddIn. But that is not the case! If the AddIn experiences a problem during initialization, Outlook will prompt the user that the AddIn caused a problem and would you like to disable it. The user will of course always choose “yes” and this is where the problem starts.

Outlook creates a new item in HKCU\Software\Microsoft\Office\11.0\Outlook\Resiliency\DisabledItems that contains some cryptic hashed value of your AddIn. If your AddIn is listed here, forget about it! Outlook will not load it again. You can remove and reinstall the application as much as you like but that key never gets overwritten so the AddIn never gets loaded.

What I don’t understand then is that even when the AddIn is registered in HKCU, and you can see it in the COM AddIns, you can’t simply check it to re-enable the AddIn. The LoadBehavior can still be “3” but Outlook won’t load the AddIn.

How do you fix it? Well before I realized this Disabled Items button in Help -> About was different than setting the LoadBehavior to “2”, we fixed it by having the user log on as another user. Notice that the DisabledItems key is stored in HKCU so the new user can load the AddIn once again. Also doing a Detect and Repair with the “Reset my settings” check box checked will clear this DisabledItems key.

So by clicking Help -> About and then “Disabled Items” button, you should see the disabled AddIn listed there and you can enable it once again.

I’m glad I finally got this figured out because it’s going in my knowledge base.

After releasing TEO 2.0 on Monday, hundreds of people rushed to the site to download the software. This may not seem like a lot but to a small one person shareware operation, it is. I love the fact that it is so popular, but unfortunately like all software, not every install goes as smoothly as it does for most. The abundance of support questions have unfortunately slowed my response times a bit so I’ll need to get back on track. (I do still have a 40 hour a week day job, remember.)

Some of you may have read on Marc Orchant’s web log about the beta issues I worked with him on. Unfortunately it turned out to be an underlying problem with the Tablet PC Ink API’s and not my software at all. He’s not the only one that has experienced this problem. Although uncommon, about four of my users have reported errors that looked like TEO problems but turned out to be problems in the new Tablet PC 2005 RealTimeStylus API’s.

There have also been other problems such as users trying to enter the new serial numbers into TEO 2.0 betas or RC’s which doesn’t work. This is my fault. I probably should have been clearer about that.

However, there are some problems that I just can’t even figure out. For the last three days or so I worked with a customer that could not load TEO no matter what. No log files, no error messages, nothing. Creating the log file is the first thing TEO does so this really concerned me. Fortunately, the customer was very technically skilled so I didn’t have to “hold back” when diagnosing the problem. We tried everything… fuslogvw, FileMon, RegMon, lots of gacutil and ngen calls, registry manipulation, etc. Even now I have no idea what the problem on his machine was. The COM shim was just not being loaded by Outlook at all. It was the weirdest thing. His security settings were fine, other managed add ins loaded fine. When we ran FileMon and RegMon, Outlook would load the COM registration information from the registry, but would never access the file!

It’s like Outlook knew there was an add in to load, knew how to add it, but never even tried. A VBScript with a single CreateObject() statement succeeded, but not Outlook. Weird.

It was then that I got the idea to have him log off and back onto the machine as a different user. Worked fine! What’s going on here? By this point, we had been going back and forth for three days and I couldn’t even believe that this customer was still even willing to use TEO much less talk to me. He was happy with the support effort that I put forth and the next day reported to me that a “Detect and Repair” in Outlook fixed the problem.

Lesson learned anyway… from now on I am not going to hesitate to ask a customer to repair their Office installation if they are experiencing strange problems like this.

Sep 202004

Today I released Tablet Enhancements for Outlook 2.0 to the public. Hopefully it will be popular among the Tablet PC community. Some of the new features include:

  • Save your handwriting. No more conversion to text required.
  • Integration with Outlook’s standard New Item behavior. Makes a dedicated toolbar unnecessary though these override options can be configured and you can use the new “Tablet PC” menu to create items instead.
  • Integration with Microsoft MapPoint 2004 to load, annotate, and save maps and directions for contacts right from within Outlook.
  • Support for Exchange Server. Your handwritten notes are synchronized with Exchange and you can even access your handwritten notes from Outlook Web Access.
  • Support for the Outlook Journal makes a great place to store and categorize your daily notes.
  • Much more refined user interface that looks and feels more like Office.

Check it out and download the trial from http://www.tabletoutlook.com!

Over the weekend, TEO 2.0 became feature complete. Most of the known bugs are fixed. The only ones that are not are minor issues that I can’t fix without Microsoft’s help. Hopefully they will be responsive. I am very happy with the way this product turned out. It’s really improved the quality and quantity of Outlook content that I create on a daily basis. Now the hard part is going to be selling and supporting it. I’m pretty much doing this entirely by myself.