I am using the AllowLaterVersions Property (Launch Conditions)
http://msdn.microsoft.com/en-us/library/aa983311.aspx. This was provided in VS 2005 IDE. I did not realize it was removed in the VS 2008 IDE. Since it was removed in VS 2008 IDE and defaulted to false in VS 2005 IDE, it is likely a smaller problem than
Thanks for all the feedback. Keep up the good work.
Thanks for the reply. What will happen when a new OS does not support the older framework (ie .net 1.0 will not install on Vista)? You have forced the user to get an update for the application to support the new OS. Is the Windows team ok with that?
It makes the OS look bad because it is no longer compatible with the application. The easy answer is to always ship the older framework with the new OS, but I don't think that is going to happen. This change is effectively putting a limit on the life of
the app. Again I am not against this change, I am simply trying to help find the holes.
Compiled 2.0 applications not running on Windows XP with 4.0 CLR only installed is a problem. This will break all applications I have created to date. The old rules allowed the older exe to run on newer CLR. My install will test for 2.0 or higher CLR.
If 4.0 CLR is found, the install will not put 2.0 on the machine but my application will no longer run. This is a breaking change that will affect many applications.
I don’t have an issue with this change but please make sure you get the word out to developers. I would also suggest adding an option to the manifest to allow the previous behavior (allow exe to run on any framework higher than the target).