Измените ключ реестра 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"'
Читайте также: