Как скрыть программу из списка установленных программ Windows?
В этой заметке мы покажем, как скрыть любую программу из списка установленных в панели управления Windows. Инструкция применима ко всем версиям Windows, начиная с Windows XP и заканчивая последними билдами Windows 10 и Windows 11.
Как скрыть конкретную программу из списка программ Windows?
Допустим, наша задача — скрыть запись об установленном графическом редакторе Gimp. Откройте Панель управления, перейдите в раздел Programs and Features (Программы и компоненты) и проверьте, что запись Gimp 2.10.28 присутствует в списке установленного ПО.
Также информация об установленной программе есть в современной панели Settings (Settings -> Apps).
Скрыть запись об установленной программе можно через реестр Windows. Но прежде всего, нужно понять, как Windows строит список установленных программ в панели управления. Информация об установленных программах может находится в трех ветках реестра:
- HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall – общий список программ для всех пользователей;
- HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall – в этой ветке находятся записи о x86 приложениях на x64 Windows;
- HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionUninstall – приложения, установленный только для текущего пользователя.
Windows строит список установленных программ, который вы видите в панели управления на основе записей в этих ветках реестра.
В моем случае GIMP установлен через пакетный менеджер winget только в мой профиль пользователя, поэтому запись о нем должна быть в разделе реестра пользователя HKCUSoftwareMicrosoftWindowsCurrentVersionUninstall.
Найдите ветку приложения (в моем примере это GIMP-2_is1) и создайте в ней новый параметр реестра типа DWORD 32 бит с именем SystemComponent и значением 1:
SystemComponent=dword:00000001
Перейдите к списку установленных программ и обновите его (клавиша F5). Запись о программе GIMP должна исчезнуть из списка.
Приложение также скрывается из списка установленных программ в современной панели управления Windows (Параметры -> Приложения).
Совет. Есть еще один способ скрыть программу в Windows. Для этого нужно в той же самой ветке изменить имя ключа DisplayName на QuietDisplayName.
Вы можете скрыть программу из командной строки. Ниже приведен пример такой команды, который можно использовать в скриптах (данная команда скроет установленный архиватор 7-Zip):
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall7-zip" /v SystemComponent /t REG_DWORD /d 1 /f
Чтобы отключить режим скрытия для программы, достаточно удалить параметр SystemComponent (или изменить его значение на 0 командой:
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall7-zip" /v SystemComponent /t REG_DWORD /d 0 /f
) или переименовать параметр QuietDisplayName в DisplayName.
Указанным способом нельзя скрыть системные программы, такие как наборы библиотек C++ или установленные версии .NET Framework.
Скрыть несколько установленных программ с помощью скрипта PowerShell
Если вам нужно скрыть от пользователей сразу несколько программ, можно воспользоваться следующим PowerShell скриптом. Список программ, которые нужно скрыть, указываются в переменной AppsToHide. Затем скрипт проверяет все ветки реестра, находит ветки с программами и создает в них параметр реестра SystemComponent со значением 1 (если параметр уже существует, его значение меняется на 1).
$RegPaths = @(
"HKLM:SoftwareMicrosoftWindowsCurrentVersionUninstall*",
"HKLM:SoftwareWOW6432NodeMicrosoftWindowsCurrentVersionUninstall*",
"HKCU:SoftwareMicrosoftWindowsCurrentVersionUninstall*"
)
$AppsToHide = @(
"*GIMP*",
"*7-Zip*",
"*Teams*"
)
foreach ($App in $AppsToHide) {
foreach ($Path in $RegPaths) {
$AppKey = (Get-ItemProperty $Path -ErrorAction SilentlyContinue| Where-Object { $_.DisplayName -like $($App) }).PSPath
if ($null -ne $AppKey) {
$SystemComponent = Get-ItemProperty $AppKey -Name SystemComponent -ErrorAction SilentlyContinue
if (!($SystemComponent)) {
New-ItemProperty "$AppKey" -Name "SystemComponent" -Value 1 -PropertyType DWord
}
else {
$SystemComponentValue = (Get-ItemProperty $AppKey -Name SystemComponent -ErrorAction SilentlyContinue).SystemComponent
if ($SystemComponentValue -eq 0) {
Set-ItemProperty "$AppKey" -Name "SystemComponent" -Value 1
}
}
}
}
}
В моем примере скрипт используется для скрытия программ Gimp, Teams и 7-zip. Такой PowerShell скрипт можно выполнить на компьютерах пользователей домена через GPO.
Скрываем все установленные программы от пользователя
Вы можете полностью скрыть из панели управления пользователей все установленные программы. Для этого нужно отредактировать параметр локальной групповой политики.
Запустите редактор локальной GPO (gpedit.msc) и перейдите в раздел Конфигурация пользователя –> Административные шаблоны –> Панель управления –> Программы (User Configuration –> Administrative Templates –> Control Panel –> Program) и включите политику Скрыть страницу программы и компоненты (Hide “Programs and Features” page).
Обновите настройки групповых политик с помощью команды gpupdate /force и проверьте, что окно «Программы и компоненты» в Панели управления недоступно пользователю. В панели управления при этом будет отображаться запись «
Системный администратор отключил компонент Программы и компоненты
».
Также можно запретить показывать список установленных программам Windows в панели управления Windows с помощью команд:REG add "HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesPrograms" /v NoProgramsCPL /t REG_DWORD /d 1 /f
REG add "HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesPrograms" /v NoProgramsAndFeatures /t REG_DWORD /d 1 /f
Windows 10
Как скрыть программу из списка установленных программ Windows?