Thursday, March 27, 2008

The case of the vanishing Outlook Navigation Pane Shortcuts - and how to backup and restore.

On Friday March 21st my customized Outlook 2003 Navigation Pane Shortcuts were fine. On Monday March 24th I they'd vanished.

This has happened before. It's bad, because I really depend on these things.

I don't know why they vanished, though I suspect an update of some sort triggered an old bug. These things are known to be fragile in Outlook 2003. I resolved to come up with a way to restore and back these up, and with a bit of Usenet help I did manage that.

Here's what worked for me.

  1. Find out where Outlook stores this data: Microsoft kb: Outlook file locations [1] mostly answered that question. It says these customization are stored in: "drive:\Documents and Settings\<user>\Application Data\Microsoft\Outlook\Outlook.xml". There's an error in the kb though, the file is not named "outlook.xml". When Exchange Server is in the picture the file is named by the Exchange/Outlook profile. In my case that's "Default Outlook Profile.xml".
  2. I used our corporate backup software to find the most recent backup prior to when the truncation occurred.
  3. I saved the last 19KB file to a local folder and used a text editor to extract the portion with the tags: <userdefined> from the backup. Then I exited Outlook and copied it into the current version of this file.
  4. I then launched Outlook and added ONE new Shortcut to a store in my PST File. If you don't do this you get a "messaging error" when you try to use the old Shortcuts that point into local PST files. My guess is adding a new one forces Outlook to update some binary cache file it won't otherwise update.

I still don't know why my Navigation Pane Shortcuts vanished. They may have been a casualty of something that damaged another part of the "Default Outlook Profile.xml" file. I'll see if it happens again, but from now on I have a backup and an easy way to restore them when they get wiped out.

-- footnotes --

[1] It's astounding how long and complex this list is. Outlook is a very old and rickety piece of software. Slipstick also has a good reference list.

[2] Example:

<userdefined>
        <linkgroup name="PIM">
            <wdLnk>
                <ltype>shortcut</ltype>
                <reckey>2B1967ED1BF9A2489BE8AFD510569E6E</reckey>
                <eid>0000000038......000000000</eid>
                <rootfold>1</rootfold>
                <name>Outlook Today</name>
                <storeid>1</storeid>
                <urlhint></urlhint>
                <clsid>0078060000000000C000000000000046</clsid>
                <icondata></icondata>
            </wdLnk>
            <wdLnk>
                <ltype>shortcut</ltype>
                <reckey>000....E750000</reckey>
                <eid>000000002B1967ED1BF9A2489BE8AFD510569E6E0100BB4E71E8D95434469F02C78FF25B3D85000000981E750000</eid>
                <name>Calendar</name>
                <storeid>1</storeid>
                <clsid>0278060000000000C000000000000046</clsid>
                <icondata></icondata>
            </wdLnk>
....
</userdefined>

2 comments:

JGF said...

I had this happen again, and, having forgotten about this post, I explored Google for answers.

Eventually they led back to my own post.

Sigh.

I did come across another reference on copying the outlook bar.

It is all exceedingly annoying. I suspect the increasingly heavy burden of layers of corporate management software is triggering an old 2003 bug.

E.Croft said...

Hi, I found your post on Egghead Cafe and found your information exceedingly helpful as I have had the same annoying problem occur multiple times. Most recently this occured when I tired to fix the problem of word crashing every time I exit outlook by running office repair - didn't help (this bug is really annoying - simple solution is to not use word in outlook, I know, but this really isn't a fix)

However, my comment is that I found that if i simply restored the old xml file from a backup (rather than copy/paste as you suggested) everything worked perfectly.