Измените ключ реестра net framework

Обновлено: 21.11.2024

Модуль PowerShell 2.0.

Подраздел NET Framework Setup в пути реестра не начинается с точки.

Минимальная версия

Использовать редактор реестра

В меню "Пуск" выберите "Выполнить", введите regedit и нажмите "ОК".

(Для запуска regedit у вас должны быть права администратора.)

Используйте PowerShell для проверки минимальной версии

Используйте команды PowerShell для проверки значения записи Release в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full.

Запросить реестр с помощью кода

Используйте методы RegistryKey.OpenBaseKey и RegistryKey.OpenSubKey для доступа к подразделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full в реестре Windows.

Добавьте директиву с помощью Microsoft.Win32 или Imports Microsoft.Win32 в начало файла кода, если вы еще этого не сделали.

В этом примере выходные данные отображаются следующим образом:

Этот пример соответствует рекомендуемой практике проверки версий:

  • Он проверяет, значение записи Release больше или равно значению известных ключей разблокировки.
  • Проверка выполняется в порядке от самой последней версии к самой ранней.

Подраздел NET Framework Setup в пути реестра не начинается с точки.

Использовать редактор реестра (старые версии фреймворка)

В меню "Пуск" выберите "Выполнить", введите regedit и нажмите "ОК".

Для запуска regedit у вас должны быть права администратора.

Запросить реестр с помощью кода (старые версии фреймворка)

Используйте класс Microsoft.Win32.RegistryKey для доступа к подразделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP в реестре Windows.

В примере отображается вывод, аналогичный следующему:

Поиск версий CLR

Средство Clrver.exe

Используйте средство версии CLR (Clrver.exe), чтобы определить, какие версии среды CLR установлены на компьютере. Откройте командную строку разработчика Visual Studio или PowerShell разработчика Visual Studio и введите clrver .

Класс среды

Запросите свойство Environment.Version, чтобы получить объект версии.

Возвращенный объект System.Version идентифицирует версию среды выполнения, в которой в данный момент выполняется код. Он не возвращает версии сборки или другие версии среды выполнения, которые могли быть установлены на компьютере.

Использовать ключи реестра

Для этого выполните следующие действия:

Нажмите «Пуск», введите regedit в поле «Найти программы и файлы» (нажмите «Выполнить» и введите regedit в диалоговом окне «Выполнить» в Windows XP), а затем нажмите Enter.

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
  • В юбилейном обновлении Windows 10: 394802
  • Во всех других версиях ОС: 394806
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
  • В системах с ноябрьским обновлением Windows 10: 394254
  • Во всех других версиях ОС: 394271
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
  • В системах Windows 10: 393295
  • Во всех других версиях ОС: 393297
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
  • В Windows 8.1 или Windows Server 2012 R2: 378675
  • В Windows 8, Windows 7 с пакетом обновления 1 (SP1) или Windows Vista с пакетом обновления 2 (SP2): 378758
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

Обнаружение рекомендуемого развертывания

Этот форум перенесен в раздел вопросов и ответов Майкрософт. Посетите Microsoft Q&A, чтобы публиковать новые вопросы.

Отвечает:

Вопрос

Какой ожидаемый номер версии в следующем разделе реестра при новой установке Windows 8?

Я спрашиваю, потому что раньше у меня была Windows 7 с установленным VS 11 RC. Затем я обновился до Windows 8, хотя у меня все еще установлен VS 11 RC, и ключ, похоже, тот же:

Я думал, что v4.5.50501 — это RC-версия. Я ожидал увидеть версию 4.5.50709, так как у меня Windows 8. Как правильно?

Ответы

На моем компьютере выполняется чистая установка Win 8 Pro RTM и VS 2012 Ultimate RTM.

Подпапка, которая у вас есть для RC версии 4.5, похоже, из VS 2012 RC. Какую версию показывает Help->About в VS 2012 RC?

Все ответы

Я не знаю, как вам удалось выполнить обновление с Windows 7 до Windows 8 и сохранить VS 2012 RC, но теперь у вас есть неподдерживаемая комбинация (или так может показаться).

Спасибо за ответ.

> обновитесь с Windows 7 до Windows 8 и сохраните VS 2012 RC

Означает ли это, что вы ожидали, что программа установки остановится из-за несовместимого программного обеспечения?

Похоже, обновление прошло без проблем. Я не припоминаю, чтобы были какие-либо предупреждения о несовместимом программном обеспечении, кроме MS Security Essentials, которое легко исправить путем удаления и перезагрузки.

Значит, раздел реестра ДОЛЖЕН быть следующим?

Согласен, именно поэтому я разместил свой вопрос. Установщик основан на WiX, поэтому меня интересует только соответствующий раздел реестра. Я предположил, что у меня неправильный ключ, но в настоящее время для меня важнее создать программу установки для правильного ключа, поэтому мне нужно определить правильный ключ.

> Я бы переустановил Win 8, а затем установил 90-дневную пробную версию VS 2012 или купил лицензию VS 2012.

В настоящее время я не могу установить чистую Win 8. Это займет слишком много времени — у меня слишком много настроек (это компьютер для разработчиков :).

Установка VS 2012 RTM, вероятно, хорошая идея, но я не знаю, стоит ли рисковать. Я не хочу, чтобы меня заставляли делать чистую установку. Сейчас это не является приоритетом, так как RC работает хорошо (не считая раздражающих время от времени зависаний ;).

Здравствуйте, мы пытаемся установить AutoCAD 2015 в школьной сети, проблема в том, что для этого требуется установленная платформа dot net framework 4.5, мы используем dot net framework 4.601055.

Я нашел способ использовать реестр, чтобы отредактировать dword и изменить значение на 4,5, после чего программа в конечном итоге установится.

Что я пытаюсь сделать, так это создать сценарий запуска, который проверит, является ли платформа правильной версией, если не изменить dword на 4.5, а затем запустить установку.

О: это возможно?

B: любая помощь/подсказки.

Популярные темы в Active Directory и GPO

16 ответов

хорошо, пока мне удалось успешно изменить раздел реестра с помощью этой команды

reg add "HKLM\Software\Microsoft\Net Framework Setup\NDP\V4\Client" /f /v "версия" /t REG_SZ /d "4.5"

так что теперь мне нужно запустить программу.

дбито

У вас есть реклама? если вы это сделаете, вы можете развернуть реестр через GPO, а затем настроить сценарий входа при запуске с помощью GPO, чтобы он открывал программу установки из заранее определенного места:

Развертывание реестра

Сценарий входа

Извините, забыл упомянуть, что у нас есть AD и сервер 2012, я знаком с фактическим развертыванием (ваш ответ именно то, что я делаю), но я не могу заставить скрипт запустить exe.

reg add "HKLM\Software\Microsoft\Net Framework Setup\NDP\V4\Client" /f /v "версия" /t REG_SZ /d "4.5"

"\\path\path$\path$\AutodeskAutocad2015\Img\Setup.exe" /W /q /I Img\AutoDeskAutocad2015x86 /language en-us

md "C:\Program Files\AUTODESKAutocad\Installed"

Я добавил тайм-аут, чтобы проверить наличие ошибок. Спасибо

дбито

Вы пытались установить AutoCad через подключенный диск вместо пути к общему диску (это может вызвать проблемы)

См. пакетный сценарий для установки AutoCad.

Связывались ли вы с Autodesk, чтобы узнать, есть ли у них решение?

jonemac, да, все еще жду ответа, я установил Autodesk Inventor с помощью этого метода, и он работает, но по какой-то причине AutoCAD не работает.

dbeato, спасибо, я попробовал это, буду продолжать копать / пытаться.

дбито

Можете ли вы попробовать запустить два сценария входа вместо одного? Это может работать лучше. Один для реестра, а другой для установки.

дбито

действительно, если вы запустите скрипт вручную, он сработает?

Нет, это то, что я делаю, у меня за спиной тестовый компьютер, он создает папку, меняет регистрационный ключ, но не запускает setup.exe?

сейчас я возвращаюсь к документации, так как мне, возможно, придется изменить процесс со стороны Autodesk/AutoCAD

Роб Данн

Да, спасибо, Роб, вот что делает изменение ключа reg в скрипте: он меняет версию в reg, так что программа думает, что это 4.5

Роб Данн

Ах, я не был уверен, имеют ли эти обновления какое-либо отношение к этому или нет.

Какое-то паршивое создание установочного пакета.

Конечно, я собираюсь повторить всю установку еще раз, чтобы посмотреть, какие у нее будут "варианты".

Наконец-то все заработало, пришлось немного изменить скрипт, после чего запустить установку программы.

Спасибо за все ваши ответы.

дбито

Отлично, дайте нам знать, если вы были полезны в наших публикациях :)

Эта тема заблокирована администратором и больше не открыта для комментариев.

Чтобы продолжить это обсуждение, задайте новый вопрос.

Что бы вы сделали?

Итак, я работаю в MSP, который работает круглосуточно и без выходных. Старший инженер в нежелательную смену с 23:00 до 8:00 уходит. Теперь у меня есть возможность перейти на эту должность, насколько больше это потребует компенсации в процентах от того, что я зарабатываю сейчас? и я скажу это.

Щелкни! Lapsus$, Excel RAT, Honda Hackers, Lunar Landers, Windows Easter Egg

Ваша ежедневная доза технических новостей. Вы должны это услышать. Подозреваемые Lapsus$ арестованы за взломы Microsoft, Nvidia, Okta. Больше информации о группе Lapsus$, ответственной за ряд недавних кибератак. Несколько из группы».

Искра! Серия Pro — 25 марта 2022 г.

Friday Из бесплатной энциклопедии Википедии. Другие значения см. в Friday (значения). Пятница — день недели между четвергом и субботой. В странах, принимающих обычай "понедельник-первый".

Вы можете получить информацию об установленных версиях и выпусках NET Framework на вашем компьютере с помощью PowerShell. Самый простой способ получить эту информацию непосредственно из реестра — использовать командлеты Get-ChildItem и Get-ItemProperty (подробнее об управлении записями реестра с помощью PowerShell).

Get-ChildItem ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP’ -Recurse | Get-ItemProperty -Name version -EA 0 | Где < $_.PSChildName -Match ‘^(?!S)\p’> | Выберите PSChildName, версию

(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release

Функция GetNetFrameworkVersion Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Где < $_.PSChildName -match '^(?![SW])\p'> |
Выберите PSChildName, Version, Release, @ name="Product"
expression= switch -regex ($_.Release) "378389" <[Version]"4.5" >
"378675| 378758" < [Версия]"4.5.1" >
"379893" < [Версия]"4.5.2" >
"393295|393297" < [Версия]"4.6" >
"394254|394271" < [Версия]"4.6.1" >
"394802|394806" < [Версия]"4.6.2" >
"460798|460805" < [Версия]"4.7" >
"461308|461310" < [Версия]"4.7.1" >
"461808|461814" < [Версия]"4.7.2" >
"528040|528049|528449| 528372" < [Версия]"4.8" >
<[Версия]"неопознанная версия (>4.8)" >
>
>
>
>
$result=@()
$servers= Get-Content C:\Scripts\my_servers.txt
foreach ($server в $servers)
$result+=Invoke-Command -ComputerName $ server -ScriptBlock $function:GetNetFrameworkVersion
>
$result| выберите PSComputerName,@>,Product,Version,Release| Out-GridView

Или вы можете получить список компьютеров домена с помощью командлета Get-ADComputer (из модуля Active Directory для Windows PowerShell).Следующая команда выберет все активные хосты Windows Server в домене:

$servers= Get-ADComputer -Filter 'операционная система -например, "*сервер Windows*" -и включено -eq "true"'

Читайте также: