||As a general rule of thumb it is not backwards compatible. One thing you can try is to set all of your ESRI assembly references to not be version specific (go to project properties, references, and set SpecificVersion property of each assembly to False). This, of course, assumes you aren't using anything new introduced at SP6. There are several methodologies to developing software for multiple versions. One is to maintain a version of your application for each supported version of the software. You don't necessarily have to maintain multiple codebases, but simply compile the application on a development machine that has the same version of the software installed as the target user. You can also not install service packs on the development machine. This will compile the application using the base version of the ESRI software and will be forward compatible with any future SPs for that version. This also requires you to set SpecificVersion to False for all of your ESRI references.