Application portability questions

I am wondering what I can do to make sure my application has the least compatability issues running on the most computers.

When I made a text executable, on one computer (XP) it told me they needed to update thier .net framework.

On a vista box, it said they needed office installed.

Under C++, I could build an application with static linking which would fatten up my EXE, but eliminated a lot of problems of people not having the right version of a DLL.

I also could do some dynamic library calls, so if an OS didn't support some feature (Like terminal services under windows 98) I could just not load the library. Is a way I set up my application to allow the importation of excel documents when someone has office installed, but still load and run on a computer without office given excel imports will be disabled?
[861 byte] By [DeepT] at [2007-11-20 10:22:51]