A customer recently asked a set of questions about .NET Framework deployment that I suspect are very common across corporation today.    I thought these might help some of you... Let me know what other questions you have, or better yet, what other resources you have found! 


  1. Is the .NET Framework developed to be backwards compatible?  Will applications built on .NET Framework 1.1 function properly on .NET Framework 2.0?

 Yes... there are a few known and documented breaking changes, but my and large apps just work after a bit of testing..


  1. Do applications built on older versions of .NET Framework need to be re-compiled to use the new .NET Framework version?  I'm assuming that they do.

Technically, no.. There is a config file way to make a 1.1 app run on 2.0... in fact if only 2.0 is installed all 1.1 apps run on 2.0..  But if you can recompile on 2.0 and more importantly at least smoke-test the app on 2.0, it is a good idea to do that...  


  1. When newer versions of .NET Framework are released, can a user uninstall the older versions of .NET Framework?  Does Microsoft recommend against uninstalling .NET Frameworks?

Yes, users can do this, but the recommendation is to keep the version of the .NET Framework that the app was built and tested against...


  1. What are Microsoft's recommendations/guidelines for applications that have a strong dependency on the .NET Framework?  I'm looking for guidelines that should be followed to prevent deployment issues and compatibility issues with future .NET Framework releases.

See the MSDN docs for a discussion about Side by Side and deployment.  


  1.  Are there plans for providing a default .NET Framework version with the OS? 

Yes, we provide a “system” .NET Framework with each OS version... For example, Windows Server 2003 ships with .NET Framework 1.1 and Vista ships .NET Framework 2.0 and .NET Framework 3.0..