Tuesday, February 12, 2008 9:57 AM
Art Leonard
Office 2007 / 2003 Compatibility
I got this in my email today:
How do your comments on Office 2007bkwd compatability (3/24/2006) jibe with Andrew Whitechapel's blog (8/23/2007) about retaining O2K3 when installing O2K7? He warns, for example, that if you have Excel 2K3 and 2K7 on the same machine, and "...run Excel 2003...it will be using the 2007 PIA's...if there are breaking changes [in the PIA's] you're hosed." (Andrew is part of MS's Office App team in the UK.)
Are you saying there are no "breaking changes", so Whitechapel's points are moot? I am beyond confused.
Actually, Andrew now sits down the hall from me. I was a reviewer on his book.
His statement was about retaining Office 2003 on the box when you install Office 2007. Mine was really about building a solution for Office 2003 and running it on Office 2007.
Regarding Andrew's comment, I know of only two breaking changes in Office that prevent compatibility at this level:
-
Excel's custom formatting API changed in their object model such that return types were changed, breaking compatibility and
-
Access' forms API isn't compatible via COM interop from version to version because they extend their interfaces in the middle of the API, breaking the vtable compatibility. They need to to satisfy their VBA and forms customers.
The other issues you could run into have to do with COM registration. When you lay down the Office 2007 bits, the 2007 PIAs get registered as the primary ones. And even if you explicitly reference the 2003 ones, publisher policy will redirect binding to the 2007 ones, making sure that you will always get consistent types. So, if you absolutely need the 2003 PIAs for the above reasons, this might be difficult. Otherwise this should "just work".
Office tested the APIs for compatibility for this reason - knowing that we had to have a way to roll our Office 2003 customers forward.
I hope this helps.