You dont have to distribute the framework if you dont want to. Your setup package can download it if its not automatically detected. You can target your app for a particular FW version so you can be compatible. There are only 2 version that are targets - 1.0 and 1.1. With 2005 there will be 2.0 but its not backwards compatible. Having to target between 3 versions is not hard like having to deal with dll hell with vb6.