Could not read the calendar. Outlook cannot open this item. The item may be damaged!

Somtimes, I could cheerfully dump my corporate laptop* and this week has been no exception with abysmally slow performance, new software installs that require reboots and then, after working well (so nothing to do with the Cisco unified communications integration components that I installed yesterday), Outlook decided that it didn’t like my calendar any more. Other people’s calendars were fine; other folders (Inbox, etc.) were fine; and the calendar data was fine, as long as I didn’t want a day/week/month view.

Could not read the calendar. Outlook cannot open this item. The item may be damaged.

OK, but which item? I could take a guess that this was something to do with a corrupted offline folders (.OST) file but a bit of Googling turned up a fix.  In a TechNet Forum post Exchange MVP Rich Matheisen suggests deleting the OST file (the location of this can be found from Outlook’s Account Settings), then running outlook /cleanfreebusy to create a new .OST and pull down the free/busy calendar information.

One slight snag was that I couldn’t rename/delete the existing Outlook.OST file because it was in use. This time, Windows was a little more helpful with its error reporting, telling me that the Microsoft Windows Search Protocol Host had the file open. The answer was to open services.msc, stop the Windows Search service, then work on the Outlook.OST file, before restarting the Windows Search service.

Outlook is now happy again, but I’m not convinced it would have been any quicker to go via the official support channels (probably would have necessitated a visit to the office for the deskside support guys to take a look) than to self-support… which makes me wonder if corporate IT budgets would be better spent on providing cross-platform technology services, rather than maintaining and supporting standard PC builds?

* I make no secret that I’m not a fan of standard operating environments (“gold brick” PC builds) with layers and layers of “security” software. Even though I spent many years implementing such solutions (and reaping the rewards in terms of reduced support costs, etc.), it’s an outdated model that has no place in an age of consumerisation (for many knowledge workers at least – of course, there are exceptions, e.g. in heavily regulated environments). There are many who will say, “so what do you suggest instead?”, to which my response is: a) read this post; b) think about how to secure your data, not your devices; c) empower users to choose their own devices/apps where they wish (accepting that a bring your own model is not for all, but it’s time to move away from a device/operating system centric model to one that focuses on data and applications).

Justifying a Windows/Office update – those “little things” add up

It’s often hard to justify a Windows or Office upgrade, but I think I might just have found a way to identify some of the advantages – try going back to an older version.

A few weeks ago, my company-supplied notebook was rebuilt onto the corporate standard build. I realised that it’s been about 4 or 5 years since I was last in that situation, as I’ve always been in a position to be trialling new versions of Windows and Office but these days my role is largely non-technical (so I have no real justification to be different to anyone else) and my team actually sits within the IT department (so I guess I should be setting an example!). I do have local administration rights on the machine, and I did install some software that I need for my role, but which is officially unsupported (examples would be TweetDeck, Nokia PC Suite and the drivers for my company-supplied HP OfficeJet printer). I also tweaked some power settings and turned off the corporate screen saver (thereby keeping my green credentials intact by balancing the lack of automatic shutdown with the lack of increased processor/fan activity to run a screensaver) but I’ve been trying to stick to the company build where possible/practical. That means I’m back to Office 2007 (with Visio 2003) although I am at least on a Windows 7 (x64) build in order that I can use all 4GB of RAM in my notebook.

I have to say that it’s been driving me insane. I had a similar experience when I went back to XP for a couple of days after a hard drive failure a couple of years ago but I’ve really missed some of the newer functionality – particularly in Outlook 2010:

  • I’ve lost my Quick Steps (I use them for marking an e-mail as read and moving to my archive folder in one action, or for sending a team e-mail).
  • Conversation view is different (I can’t tell you how, but I’m missing some new e-mails as a result).
  • When I receive a meeting request, I don’t see my other appointments for that day in the request.
  • [Update 15 April 2011: Access to multiple Exchange accounts from one Outlook instance.]

These are just examples off the top of my head – I should have noted each feature I’ve missed in recent weeks but I didn’t (maybe I’ll come back and edit the post later) but, for a knowledge worker like me, they are significant: a few minutes extra in Outlook to triage email 7-8 times a day, represents half an hour of lost productivity – every day.

…none of this is likely to convince a company to invest in an upgrade, even if they have the software (software costs are generally quite insignificant in relation to resource costs), but it’s all part of the business case – employee productivity is never easy to measure, but the little things do add up.

I’m now running Internet Explorer 9 (I need to test certain websites on the latest browser version), although I’m ready to revert to 8 if there are issues with any of the business applications I need to use, and my PC is fully patched including the latest service pack. I am resisting the temptation to install my own (licensed) copy of Office 2010 though… at least for now.

Google Calendar Sync’s Outlook version check means it won’t work with the 2010 technical preview

Yesterday I wrote about how I love Outlook 2010. I still do. Sadly Google Calendar Sync is coded to check for the version of Outlook in use and it doesn’t like version 14.

Error: Google Calendar Sync supports Microsoft Outlook 2003 and 2007 only. Your version is

Oh well… guess that’s the price I pay for living at the cutting edge of IT!

Copying Outlook profiles, looking up SIDs and rediscovering Outlook 2007’s autodiscovery functionality

One of the benefits of not being so “hands on” these days is not having to mess around with Outlook profiles but, after joining my Windows 7 workstation to my employer’s Active Directory domain last week, I was faced with the prospect of migrating certain settings between the profile for a local user account and the profile for my cached domain logon. It should have been easy to set up a new profile, but for some reason I couldn’t get Outlook to connect to my server, so I decided to copy the working profile from the local user account.

There are various ways to do export Outlook account information but I decided to fall back to direct registry manipulation, exporting the registry values at HKEY_USERS\SID\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook (thanks to Dave Saxon for that tip), then massaging the resulting .reg file to change the SID and re-importing.

Incidentally, to find out which SID relates to which username, I followed a Microsoft Scripting Guys article to run the following VBScript:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objAccount = objWMIService.Get _
Wscript.Echo objAccount.SID

The main problem with this method was that my profile included an offline folder file (.OST) which was not accessible for my domain user account. It did, however, allow me to verify the settings that were required and to attempt to set up an new profile.

As it happens, even that was unsuccessful, so I tried the Repair button in the Outlook account settings, which invoked Outlook 2007’s autodiscovery functionality. If only I’d thought to use that in the first place… Still, at least it exposed me to the workings of an Outlook profile.

Incidentally, whilst researching this post, I came across some more information that might be useful if you’re trying to move Outlook data around.

There are two key locations containing many of the Outlook data files:

  • %userprofile%\AppData\Roaming\Microsoft\Outlook (also accessible at %userprofile%\Application Data\Microsoft\Outlook)
  • %userprofile%\AppData\Local\Microsoft\Outlook (also accessible at %userprofile%\Local Settings\Application Data\Microsoft\Outlook)

Some of the useful files (which may exist outside those two folders, and which may vary according to the version of Outlook) include:

  • profilename.NK2 (or .NICK) – nickname files with auto completion information.
  • profilename.xml – navigation pane settings.
  • .PST files – personal folders.
  • archive.pst – archived data (my personal preference is to turn off auto Archive and manage it manually).
  • .PAB files – personal address book files.
  • .FAV files – Outlook Bar shortcuts.
  • .RWZ files – Rules Wizard rules.
  • .DIC files – dictionary files.
  • views.dat – customized system folder views.
  • outcmd.dat – customised toolbar settings.
  • extend.dat – references to extensions (add-ins).
  • files – RSS subscription names.
  • .xml.kfl – RSS known feed list.

Signatures, Stationery and Templates have their own folders under %userprofile%\AppData\Local\Microsoft:

  • \Signatures (.RTF, .HTM, and .TXT files).
  • \Stationary (.HTM files).
  • \Templates (.OFT files).

You may also find some send and receive settings (.SRS) files. These are workstation specific and appear to be created on the first run of Outlook for each messaging profile. Consequently they do not need to be migrated.

Similarly, offline address book (.OAB) files should be downloaded from the server.

Finally, just as I was about to post this, I found an Outlook Backup Tutorial covering both Outlook and Outlook Express, which might be useful if you want to back up just your Outlook data (I tend to back up the whole machine).

Deleting a Live Meeting from Outlook without sending a cancellation request

Sometimes Live Meeting is infuriating. I recently sent a meeting invitation to a colleague for a webcast I’m running later this month and he then sent a new invitation to several of our colleagues (including me), which I duly accepted but that left two near-identical appointments in my calendar. I wanted to delete the original but Live Meeting’s calendar integration would only let me send a cancellation or leave the request as it was.

No problem – just send a cancellation with an empty recipient list. Outlook complains that there are no recipients, then asks if you want to save the meeting. Click yes to save and what actually happens is that the delete request is processed, removing the meeting altogether(which is what I really wanted to do).

Confusing – yes, possibly. But it saved me from cancelling a meeting with my colleague and then him thinking I was cancelling the one with 100 more people confirmed… then multiple calls/e-mails to explain what was happening.

Send messages in the future and run multiple copies of Outlook

Even though this blog is just a part-time thing (albeit one which is slowly taking over my life), I’m not yet able to give up my day job and become a full-time writer. Even so, I am in the fortunate situation that I do get fed a certain amount of information – information that I want to pass on, but which I can’t until after a certain deadline has passed, usually as the result of a non-disclosure agreement. A few days ago, Microsoft launched SCVMM 2008. I knew some things about SCVMM from public events but I was also told things under NDA and I wanted to get the word out as soon as I was allowed to. With my blog that’s easy enough to do (WordPress allows me to publish a post with a future date and time) but I also wanted to share information with colleagues via e-mail… so I needed a way to send an e-mail message in the future.

Microsoft Office Outlook 2007 Message Options including Do not deliver beforeAs it happens, I already have that capability in Microsoft Office Outlook (I just didn’t know I did) – and as described at My Digital Life, all I needed to do was set a Do not deliver before date and time in the message options. I went out for a while and came back to find that the message sitting in my Outbox had been delivered at the pre-appointed time (I tested first of all with some information that was not really time-critical – just in case!).

Whilst on the subject of Outlook, my friend, colleague and trusted advisor, Garry Martin, told me about a utility he had come across that allows multiple copies of Outlook 2003 or 2007 to run side by side using different profiles. Yes – that’s right – one copy of Outlook connected to, let’s say, work e-mail and the other to, perhaps, GMail. It’s called Extra Outlook! and I’ve yet to try this myself (GMail as a Google Chrome application shortcut is working well for me on my work PC and I use Apple Mail on the Mac) but it certainly sounds useful.

Deleting multiple RSS feeds in Outlook 2007

I have two mailboxes at work and one is permanently diverted to the other – every now and again I have to go in and clear it out (as a copy of every inbound message is left in the first mailbox) and it looks like I should do it more often (I was within a few KB of having inbound mail bounced until I logged in this evening…).

I wondered what was filling my Inbox so I checked out the folder sizes and found that the biggest culprits were RSS feeds from Outlook 2007’s integration with the Internet Explorer (IE) 7 RSS reader (even though the computer still runs IE6 in order to access some legacy web applications – so there is no Outlook to IE integration, as described in Microsoft knowledge base article 920234 – the mailbox has been accessed previously on a machine with Outlook 2007 and IE7 installed and, as Tim Anderson noted a couple of years back, Outlook copies feed contents from the local machine to the mailbox and then keeps it synchronised).

As I read my feeds in Google Reader, I decided to remove them from Outlook – but how (other than individually)? Thanks to Jaap Steinvoorte’s post on deleting RSS feeds in Outlook 2007, I found the answer in the Outlook Account Settings, on the RSS Feeds tab, where there is a big remove button. The same approach can be applied to SharePoint Lists, Internet Calendars and Public Calendars.

Unfortunately, the cached content is still retained and RSS Feeds is a special folder it can’t be deleted… unless you use a downlevel client as Daniel Moth suggests – I used OWA on an Exchange Server 2003 server.

Sure, deleting the entire folder is overkill but it seems to be the only way other than inducing carpal tunnel syndrome through repetitive mouse/keyboard clicks and the end result is a considerably less full mailbox.

Using Google Apps with Outlook 2007 to keep my personal and work life in sync

Last year, I wrote a very long blog post on the problems I was having with calendar synchronisation but I never reached the point where I was ready to publish it. Almost a year on, and I finally have something that’s working well for me but, as it’s such a long story, I’ve tidied up the original post and published it (for the full history) and I’ll write a new one here that describes the working scenario.

Calendar synchronisation… shouldn’t it all be a bit easier than this?

First up – to recap on the original problems:

  • Due to limitations with Microsoft Office’s Online calendar functionality. I was synchronising local calendars at home and work, using Google Calendar (GCal) as an intermediary.
  • The main problem was synchronisation between Outlook 2007 and GCal and, after trying a huge list of products, each of which nearly worked, but not quite, I got it working using CompanionLink for Google; however the various other products I’d used along the way had left me with duplicate and missing calendar entries – and a sour taste in my mouth.
  • On the Mac at home, Apple iCal was working with GCal but there were still some issues around synchronisation with a local Exchange Server via Entourage.

Back to the drawing board

After having implemented Google Apps for my home/small business IT, I decided to have another go at calendar synchronisation.

This time, to minimise the scope for synchronisation errors, rather than merging my work calendar into my home calendar, I decided to set up another Google Calendar to mirror the Exchange one I use for work. In addition, the process was simplified as Google now has a synchronisation product (Google Calendar Sync) which can handle the Exchange/Outlook-Google side of things and I am no longer using Entourage or Exchange Server at home.

The whole thing looks something like this:

Calendar syncing between home and work

As can be seen in the diagram, I actually have three calendars:

  1. My work calendar exists on a corporate Microsoft Exchange server (accessible via Outlook Web Access but primarily used with Outlook).
  2. I’ve also created a Google Calendar to hold a copy of this “work” calendar in the cloud and Google Calendar Sync does the magic to keep the two in sync.
  3. Finally, there’s my “personal” calendar, which lives at Google Apps.

Google Calendar sync is set up for a 2-way sync and, even though I can synchronise as frequently as every 10 minutes, Outlook performance suffers whilst the sync is taking place so I have it set to synchronise hourly. The main drawbacks with this approach are: the need for a client helper application; the 1:1 nature of the synchronisation (i.e. you cannot sync with multiple calendars); and the inability to set synchronisation schedules (or even to control the date range for synchronisation) – on the other hand, it’s free.

In Google Calendar, I have given my Google Apps account access to my “work” calendar, which means that I have full read-write access to it from anywhere that I use Google Apps. That access could be via a browser, of using native applications on my iPhone, MacBook, or another device (e.g. a Windows PC). Basically, my work calendar is visible everywhere.

My “personal” calendar is… personal. I can access it directly from any of the devices that I use for accessing Google Apps but I don’t want my colleagues to know that I have certain appointments and one thing I found with the Google Calendar Sync (luckily I spotted it early) was that appointments marked as private in Outlook were visible once they got to Google Calendar. I still need to think about how to pass my personal free/busy information back to Outlook/Exchange at work but, for now, my “personal” calendar exists in Google Apps and is visible in my “work” Google Calendar account but I don’t sync it back to Outlook. Basically, if I look at Outlook, I see work appointments but if I open a browser and got to the Google Calendar, I can see work and personal information.

What does it all look like?

In this screen-shot of Outlook 2007 connected to my corporate Exchange Server, my “work” calendar is visible but there are no appointments from my “personal” calendar:

Outlook Calendar

Viewing either of the Google calendars in a browser (in this case it’s Safari on a Mac) shows my “work” and “personal” calendars using different colours:

Multiple calendars viewed in Google Calendar

I can also subscribe to these calendars using the iCalendar protocol from Apple iCal, Windows Calendar (or another desktop client):

Multiple calendars in Apple iCal
Multiple calendars in Windows Calendar

On the iPhone, I can use either the built in calendar application or a browser application (I prefer the browser version as the iPhone Calendar assigns different colours to the various calendars):

Multiple calendars in the iPhone Calendar applicationMultiple calendars viewed in Google Calendar on an iPhone

You may notice that I also subscribe to a public calendar which provides the details of UK public holidays. Doing this means that the public holidays show up in my calendar using a different colour to the other calendars but there are other calendars that I could subscribe to – for instance sports calendars (e.g. the Northampton Saints fixture list) – or anything that uses the iCalendar format described in RFC 2445.

Summary and other points of note

In all, this solution seems to be working remarkably well for me and provides a suitable level of abstraction between work and personal calendar details whilst still letting me (and my family – or anyone else that I share my calendars with) see everything that I’m up to. I still need to work on getting personal free/busy details to populate my “work” calendar but, other than that, I’m pretty happy with the solution – and all of the software involved is free (apart from Outlook and Exchange Server – for which the licenses are provided by my employer).

I’m using Google’s technology but I could also have used Microsoft products, as Sarah Perez describes with Windows Live Calendar and the Outlook Connector. Either should work – it’s just a matter of preference – and as I was already using Google Apps for one part of the solution, adding Windows Live Calendar into the mix seemed to over-complicate things slightly for me.

Finally, this information may be useful when diagnosing problems:

Outlook cached mode is not available on a server with Terminal Services enabled

I was putting together a demo environment earlier today and needed to publish a Terminal Services RemoteApp, so I installed Terminal Services (and IIS) on my Windows Server 2008 notebook. Later on, I noticed that Outlook was not working in cached mode and I found that offline store (.OST) files and features that rely on them are disabled when running Outlook on a computer with Terminal Services enabled.

I can see why cached mode on a terminal server would be a little odd (it’s fair enough caching data on a remote client but it’s also resonable to expect that the terminal server would be in the data centre – i.e. close to the Exchange Server) – even so, why totally disable it – surely administrators can be given the choice to enable it if circumstances dictate it to be an appropriate course of action?

Oh well… I’ve since removed the Terminal Services role and Outlook is working well again.

Tracking down the Control Panel applet for Mail in 64-bit Windows

At long last (and not before time), my corporate mail account has just been moved across to an Exchange Server 2007 system with Outlook Anywhere enabled. Unfortunately, I sold my Apple iPhone (which now has Exchange ActiveSync support) last week but I will be getting a new one at some time soon and there are many other benefits too – like that I no longer have to run a 32-bit VM to VPN into the corporate network and access my e-mail; and that the 2007 version of of Outlook Web Access is a huge step forward (even the “light” version for non-Microsoft and legacy browsers).

So, now that I can access Exchange from my 64-bit Windows Server 2008 workstation, I needed to configure an appropriate Outlook profile. Except that I couldn’t find the mail applet in Control Panel, and Outlook 2007 only seemed to present the account settings for the currently loaded profile.

Control Panel in 64-bit WindowsThen I noticed an innocuous icon in Control Panel, labelled View 32-bit Control Panel Items. Clicking on this exposed the Mail applet that is necessary in order to configure Outlook profiles.