My new Windows 7 machine for instance doesn't appear to have a .NET installation folder with 1.1 assemblies. Will an app built and targeting 1.1 run without modify this machine with an older distribution of .NET?
views:
119answers:
6No. You'll need to install .NET 1.1 to run the older application.
You cannot get any guarantee that your app will run as intended on new versions of .NET. You can specify the .NET version to run in the app.config if I remember correctly. You will have to install .NET 1.1 and tell the program to run using the 1.1 engine.
The .NET framework has pretty solid guarantees about backwards compatibility, which is a good thing IMO. However, there are no guarantees, because sometimes Microsoft breaks compatibility in favor of security. Or sometimes application developers write code that depends on internal behavior (such as calling internal methods, performance or timing assumptions). Changes to the framework can than break your application.
You will NOT have to install the old runtime. Add the following XML element to the app config file:
<Configuration>
<startup>
<supportedRuntime version="2.0.0.0" />
</startup>
</configuration>
Note that version should correspond to whatever the version number is of the installed runtime.
Suck it and see.
Previously i experienced the situation whereby a 1.1 winforms exe had problems when the user had a screen setup with a high DPI.
The problem was in v1.1 of the framework, and the solution was to uninstall v1.1 of the framework and ensure v2.0 was on the box.
The app would work without issue.
This workaround was used on about 10 of our clients machines over the years.