I’m working on a cool Outlook .NET Add-in that target the Office 2003 PIAs. I just read this post from Brad Abrams that points to this new article which discusses designing Office XP add-ins and Office 2003 add-ins by using the .NET Framework.
Well imagine my horror when I read this:
You may redistribute Office XP PIAs. When you redistribute an Office XP PIA, you must install the Office XP PIA in the GAC. However, you must not deploy an Office 2003 PIA. When you build an add-in that targets Office 2003, you must exclude the Office 2003 PIAs from the Setup project. When the add-in loads in the target Office 2003 application, the add-in will correctly use the PIAs in the GAC at runtime. The add-in will correctly fail if the PIAs are not found in the GAC. The add-in will not fall back to load any other version of the PIA.
Crap! I thought. Correctly fail? Gee how nice. Can’t I make it easy for my users to use my add-in? You see the PIAs are not installed by default when you do a typical setup of Office 2003. I don’t really understand why they aren’t, *but* it appears that they will get installed on-demand. Assuming that you have you local cab installation files for Office 2003 cached, or easy access to the CD or share where the files are located, Outlook will go and install the PIAs when your add-in loads for the first time.
I need to double check this on a clean machine (will use Virtual PC for that) and make sure that this is correct. If it is then I’m psyched. If not, then I’ll be pretty pissed cause it’s quite a pain to install them and telling end users to do that is just a headache.