views:

71

answers:

3

Let's say I am using SharpDevelop/VS to develop an app that uses PowerPoint.

Do I need to recompile the app so there is a build for each version of MS Office?

I have MS Office 2007, but I would also like the app to work with Office 2003 and later, without having to recompile the app for each version.

Do I just need to install the appropriate Office Interop redistributable package/msi on the client machine, and ship my app as is?

Thanks in advance for your help.

A: 

If you're using the Microsoft.Office.Interop libraries you just need the 2007 version, it will be backwards compatible with older docs

SpaceghostAli
A: 

I have found that you should build against the oldest MS Office you have. We still use MS Office 2000.

The the thought behind this:

  • Everything MS Office 2000 can do any later version of MS Office can do.
  • A lot of things MS Office 2007 can do is impossible to do in earlier versions of MS Office.
Nifle
A: 

I absolutely agree with Nifle. Use the OLDEST ones you can find. If you use 2007, there is a very good chance it will not work with older versions.

Since I did not want to install the oldest Office version on my development PC, I used Virtual PC to create a "final build" environment. I develop with my regular PC then move the source files over to the Virtual PC with Office 2003 and VS installed, and create the final customer build there.

You will need to edit the CSPROJ file to reference the older Office libraries with this method. You can do that by just opening VS on the build virtual PC, removing the references to Office and adding them again.

Eric J.