Looking at a bug we fixed in OneNote 2007 SP2

We changed the way the OneNote system tray process works a little bit in SP2. I want to explain the behavior we were seeing and show the bug fix we took.

The system tray process is the application that handles screen clipping and side notes. You can see it visually by looking down in your taskbar and seeing the little OneNote icon:

clip_image001

In task manager you can see this running as "OneNoteM.exe" (notice the "M" at the end). It doesn't take much memory, either:

clip_image002

When you create a screen clipping, this application handles the WINDOWS+S key (in high level terms) to invoke the actual screen clipping command.

Now with a little background, we can understand the report we get now and then that "I tried to make a screen clipping and it did not work." Without some context, there is not much we can do about this report other than assuming that onenotem.exe was not running. Since we have a little background information, we can ask some questions. And one thing we did indeed notice is that in all cases the system tray application was not running. This explains why the screen clipping does not work, but it only really only leads to the next question: "Why is onenotem.exe not running?"

There are a few explanations for this. To start tracing this problem, you can check your startup folder. Here's what mine looks like:

clip_image003

You can see the screen clipper and Launcher there, and looking at its properties does show it points to OneNoteM.exe. This is the command line: "C:\Program Files\Microsoft Office\Office12\ONENOTEM.EXE" /tsr (the /tsr means "terminate and stay resident."  Someone mentioned that acronym may be too old for most folks to remember.).

So one explanation for why screen clipping may not work is that the shortcut to start the application got removed from the startup group.

Obviously, if the application crashes, it would also quick working. And since it gets launched only when the machine starts - unless you start it manually - it would not be running.

A third reason would be that the user removed it completely, and this is the behavior we changed. If you right click the icon, you get this menu:

clip_image004

You can see the option to remove the OneNote icon. If you select this with Office 2007 SP1 or newer, we would remove the icon from the system tray and set the onenotem.exe process to not automatically run any more when Windows is restarted by setting a registry key. This behavior does not match 100% with the text - the text implies that only the icon is removed, and says nothing about whether the running process should remain around or not when you restart. It is possible to make that selection and think "All I'm doing is cleaning up my taskbar and killing this one process temporarily" and not realize you are changing the way this application starts. This is not the way other applications like Instant Messenger or Communicator and such work - they only get shut down temporarily and then restart when the OS restarts.

So the fix we took is to leave the setting to start the process startup routine intact by not writing the registry key. In other words, removing that icon will remove the icon from the taskbar but leave the setting to start it when Windows starts. The next time you restart, the screen clipper functionality is restored.

We expect this to help with the third reason I mentioned above about why the application is sometimes gone. There is not much we can do about number one (you may have specifically removed it for optimization purposes, for instance), but there is work we can do about the second reason. I will talk through "Watson reporting" and show the information you can give to help us next. The short teaser is that when an application crashes you get prompted to upload the crash data to Microsoft and we use that to analyze potential fixes for our products.

Questions, comments, concerns and criticisms always welcome,

John