Я столкнулся с действительно интересной проблемой установщика .NET 4.0. У меня есть небольшая программа, предназначенная для .NET 2.0. Я использую Win7 x64 с предустановленной .NET 3.5. После установки .NET 4.0 программа перестает работать. Он пытается использовать функцию, которая устарела в .NET 4.0, но согласно различным статьям , которые я прочитал, технология параллельного выполнения .NET 4.0 должен позволить моей программе продолжить работу на .NET 2.0 CLR.
Похоже, что .NET 4 установщик оставляет мой компьютер в несколько неисправном состоянии, даже если установщик успешно завершает работу. Версия mscoree.dll (основная DLL-библиотека времени выполнения .NET), установленная в c: \ windows \ system32 и c: \ windows \ syswow64, была версией 2.x после установки .NET 4.0. Я попытался просто скопировать правильно установленные 4.0 mscoree.dll с другого компьютера, на котором был запущен точно такой же установщик, и после этого моя программа работала как надо.
Я не могу точно определить, почему это происходит, и почему я могу воспроизвести его только на одной машине. К счастью, я могу воспроизвести проблему очень надежно. Удаление .NET 4 также решает проблему, но я хотел бы иметь возможность успешно выполнять мой код, не предлагая пользователям не устанавливать .NET 4.0.
Есть мысли о том, почему это может происходить? Спасибо!