Можно ли установить .net frameworks 1.0, 1.1, 2.0 на Windows Server 2012 R2?
нам нужен ведомый сборщик, работающий с устаревшими сборками на компиляторах Visual Studio 2003/2005, и мы хотели бы иметь одну машину, работающую на новой и старой инфраструктуре вместо дублирования инфраструктуры в двух системах ... чтобы сделать вещи еще более интересными - мы необходимо установить фреймворки из командной строки / powershell для автоматического развертывания ведомого устройства ...
1.0 и 1.1 вообще не поддерживаются в 2012 R2. 2.0 включен в структуру 3.51.
http://msdn.microsoft.com/en-us/library/hh925570%28v=vs.110%29.aspx
Установить .NET Framework 1.1 вручную в Windows 8, Windows 8.1, Windows Server 2012 или Windows Server 2012 R2 невозможно. Больше не поддерживается. Если вы попытаетесь установить пакет, появится следующее сообщение об ошибке: «Установка не может быть продолжена, поскольку эта версия .NET Framework несовместима с ранее установленной». Чтобы решить эту проблему, установите .NET Framework 3.5 SP1. Эта версия включает .NET Framework 2.0 (выпуск, следующий за .NET Framework 1.1), который поддерживается в Windows 8 и Windows 8.1. Вы всегда должны пытаться сначала установить приложение, чтобы определить, будет ли оно автоматически обновлено до более поздней версии .NET Framework. Если это не так, обратитесь к поставщику программного обеспечения для обновления приложения.
Если вы попытаетесь запустить более старую версию .NET exe, Win8 и Sever2012 покажут всплывающее окно, в котором необходимо установить поддержку .NET 2.0 -> .NET 3.5 (все эти .NET генерируют код для запуска в CLR v2, следовательно, диапазон).
В качестве эксперимента я сделал .NET 1.1 «Hello World». У меня нет VS2003, чтобы настроить приложение на .NET 1.x. Вместо этого я использовал IL для обхода: ildasm / text hello.exe> hello.il ilasm hello.il / exe / out hello_1_1.exe /MDV=1.0.3705
Оригинальный .NET 4 HelloWorld.exe просто запускается. Я делаю вышеуказанное изменение, оно вызывает появление всплывающего окна. Я позволил MS установить поддержку .NET 2-3, и тест .NET 1.1 просто запустился. Кажется, я счастлив работать с v2 CLR. (Возможно, я обманываю себя, поскольку запускал ilasm на ПК с .NET 4).
Загрузчик .NET открывает exe, чтобы получить версию .NET из строки версии метаданных (MDV). Он пытается найти: HKLM \ Software \ Microsoft.NetFramework \ Policy \ Standards \ v1.0.3705. Если он не найден, он проверяет родственный ключ \ Upgrades, где обнаруживает, что он может сопоставить v1.0.0-2.0.50727 с .NET 2.0.50727.
Это может не работать с приложениями более сложными, чем "Hello World". Кроме того, это не приведет к обману установщика, поэтому он применим только к приложениям, устанавливаемым с помощью xcopy. Также MS по-прежнему не будет поддерживать 1.x (и очень скоро 2.x).
Мне удалось установить .net 1.1 на Server 2012 R2. Я загрузил установочный пакет в другую систему, переместил его на сервер, начал установку, смог просмотреть предупреждения о совместимости, и установка завершилась. Я еще не понял, какой фактор может помешать установке, но у меня, как и у других, возникла проблема, из-за которой я не мог установить .net 1.1 на server 2012 R2. Я выполняю эту установку как локальный администратор.
Это объясняет, как:
Обычно вы можете включить совместимость с IIS6, установить фреймворк и пакеты обновления. затем добавьте расширение isapi в IIS (или просто «разрешите» его, так как программа установки должна его установить).
ВОЗМОЖНО вручную установить .NET Framework 1.1 в Windows 8, Windows 8.1, Windows Server 2012 или Windows Server 2012 R2.