Как уже говорили другие пользователи, в .net 4.0 есть новый CLR, который отличается от CLR в .net 2.0.
По умолчанию приложение будет пытаться работать на CLR, против которого оно было построено.
Вы можете изменить файл apps.exe.config с помощью элемента , чтобы явно указать системе, какие среды выполнения поддерживает приложение (в порядке указывается предпочтение):
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0.30319"/>
</startup>
</configuration>
(Очевидно, что если в вашем приложении есть что-то, что зависит от чего-то в .net 2.0, которое изменилось, то это все равно не получится)
К сожалению, если ваше приложение не может установить , это потому, что установщик явно проверяет, что .net 2.0 существует, а не версия> = 2.0, если вы пытаетесь найти этот файл .zip загрузка, а не установщики, но помимо этого, вы не можете ничего сделать, кроме установки .net 2.0, - параллельная установка нескольких версий полностью поддерживается.