In this post, we’ll show how to hide any program from the list of installed apps in the Windows Control Panel. This guide is applicable to all Windows versions, starting with Windows XP and up to the latest builds of Windows 10 and Windows 11.
How to Hide a Specific Program from Settings/Control Panel?
Suppose our task is to hide an entry about the installed Gimp (image editor). Open the Control Panel and go to the Programs and Features section. Make sure that the Gimp 2.10.28 entry is present in the list of the installed apps.
Also, you can find information about the installed program in the modern Settings UI (Settings -> Apps).
You can hide the entry about the installed application through the Windows registry. But first of all, you need to understand how Windows builds the list of installed programs that you see in the Control Panel. You can find information about the installed application in one of three registry keys:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall – a general list of programs for all users of a device;
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall – this registry key contains entries about x86 apps installed on x64 Windows builds;
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall – contains apps installed for the current user only.
Windows generates the list of installed programs that you see in the Settings or Control Panel based on the entries in these registry keys.
In my case, the GIMP is installed via the Winget package manager only to my user profile, so its entry is inside the user registry hive HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall.
Find the application reg key (in my example it is GIMP-2_is1) and create a new 32-bit DWORD registry parameter with the name SystemComponent and value 1: SystemComponent = dword: 00000001
Refresh the window with the list of the installed programs (press F5 key). The GIMP entry should disappear from the list.
The app’s entry also disappears from the list of installed programs in the modern Windows 10 Settings panel.
You can hide the program from the command prompt. Below is an example of such a command that can be used in your scripts and batch files (this command will hide the installed 7-Zip archiver):
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\7-zip" /v SystemComponent /t REG_DWORD /d 1 /f
To make a program visible again, simply remove the SystemComponent parameter (or change its value to 0
with the command: REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\7-zip" /v SystemComponent /t REG_DWORD /d 0 /f
) or rename the QuietDisplayName parameter to DisplayName.
System apps, such as C++ redistributable packages or versions of the .NET Framework, cannot be hidden this way.
Hide Installed Apps Using PowerShell Script
If you need to hide several applications from users at once, you can use the following PowerShell script. The list of programs to hide is specified in the AppsToHide variable. Then the script checks all registry keys, finds keys with program entries, and creates a SystemComponent registry parameter with a value of 1 in each of them (if the parameter already exists, its value is changed to 1).
For more information about managing registry keys and parameters from PowerShell, see the article How to Get, Create, Edit, and Delete Registry Keys with PowerShell?$RegPaths = @(
"HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"
)
$AppsToHide = @(
"*GIMP*",
"*7-Zip*",
"*Teams*",
"*Firefox*",
)
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
}
}
}
}
}
In my example, the script is used to hide the Teams, Gimp, Firefox, and 7-zip apps. You can run this PowerShell script on domain computers through the GPO.
How to Hide All Installed Apps from Other Users?
You can completely hide all installed programs from the user Control Panel. To do this, you need to edit the Local Group Policy parameter.
Open the Local GPO editor (gpedit.msc
), go to the section User Configuration –> Administrative Templates –> Control Panel –> Programs, and enable the policy Hide “Programs and Features” page.
Update the Group Policy settings with the gpupdate /force
command and check that the “Programs and Features” window in the Control Panel is not visible to the user. In the Control Panel, the message “Your system administrator has disabled Programs and Features” should be displayed.
You can also prevent the list of installed Windows programs from being displayed in the Windows Control Panel using the commands:
REG add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Programs" /v NoProgramsCPL /t REG_DWORD /d 1 /f
REG add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Programs" /v NoProgramsAndFeatures /t REG_DWORD /d 1 /f