This icon showed up in my taskbar notification area today and I cannot seem to get rid of it:
Clicking on it displays the following screen:
So how do I disable or remove the "Get Windows 10" icon?
If you just want to remove the tray icon until the next restart you can terminate the GWX.exe process using Task Manager.
To get rid of the icon permanently, uninstall KB3035583 which is responsible for these notifications:
Control panel, windows update, installed updates, sort by name, "Update for Microsoft Windows KB3035583" (not a Security Update), uninstall, reboot.
(Alternative: open CMD and enter
wusa /uninstall /KB:3035583)
When you're offered the same again via Windows Update remember to hide it.
After uninstalling, if remnants of the update's files are still in
Windows\System32\GWX, just delete that directory, although first you may need to take ownership of it.
According to TechJourney, you can make a small registry change to prevent the application starting.
This registry key will stop Gwx from starting at boot:
To create this:
regedit.exeas an administrator.
DisableGwx, with a value of
Uninstalling and blocking the update from the system (as in other answers) is certainly a cleaner approach, if you don't intend to use it.
The official answer from the FAQ:
Can I turn off the notifications?
Yes. Click “Customize” in the System Tray and turn off the Get Windows 10 app notifications in the menu that comes up.
But this is not very useful depending on your needs since the GWX.exe process is still running in the background. It simply shoves the icon in the overflow menu for the system tray. It seems silly since this isn't unique to the gwx application, it is part of the OS.
Also, as commenters have pointed out, unlike other icons this setting seems to revert after rebooting the system. Putting the system in sleep mode retains the setting however.
There are various ways to remove the GWX promotion "interactively" (in GUI mode).
However, I prefer to do it programmatically / the scripted way.
On my Win7 environments (in "workgroup" mode) I'm using the below scripts to achieve the following:
ECHO OFF REM --- remember to invoke from ELEVATED command prompt! REM --- or start the batch with context menu "run as admin". SETLOCAL REM --- (as of 2015-09-07): REM KB3035583 - GWX Update installs Get Windows 10 app in Windows 8.1 and Windows 7 SP1 REM KB3021917 - Update to Windows 7 SP1 for performance improvements REM KB3012973 - Upgrade to Windows 10 Pro REM --- no longer blocking: REM KB2952664 - Compatibility update for upgrading Windows 7 REM KB2976978 - Compatibility update for Windows 8.1 and Windows 8 REM KB3022345 - Telemetry [Replaced by KB3068708] REM KB3068708 - Update for customer experience and diagnostic telemetry REM --- uninstall updates echo uninstalling updates ... start "title" /b /wait wusa.exe /kb:3021917 /uninstall /quiet /norestart echo - next start "title" /b /wait wusa.exe /kb:3035583 /uninstall /quiet /norestart echo - done. timeout 10 REM --- hide updates echo hiding updates ... start "title" /b /wait cscript.exe "%~dp0HideWindowsUpdates.vbs" 3021917 3035583 3012973 echo - done. echo ... COMPLETED (please remember to REBOOT windows, now) pause REM --- EOF
"HideWindowsUpdates.vbs" (Kudo https://serverfault.com/a/341318):
'// Inspired by Colin Bowern: https://serverfault.com/a/341318 If Wscript.Arguments.Count < 1 Then WScript.Echo "Syntax: HideWindowsUpdates.vbs [KB1] [KB2] ..." & vbCRLF & _ " - Example1: HideWindowsUpdates.vbs 3035583" & vbCRLF & _ " - Example2: HideWindowsUpdates.vbs 3035583 3012973" WScript.Quit 1 End If Dim objArgs Set objArgs = Wscript.Arguments Dim updateSession, updateSearcher Set updateSession = CreateObject("Microsoft.Update.Session") Set updateSearcher = updateSession.CreateUpdateSearcher() Wscript.Stdout.Write "Searching for pending updates..." Dim searchResult Set searchResult = updateSearcher.Search("IsInstalled=0") Dim update, kbArticleId, index, index2 WScript.Echo CStr(searchResult.Updates.Count) & " found." For index = 0 To searchResult.Updates.Count - 1 Set update = searchResult.Updates.Item(index) For index2 = 0 To update.KBArticleIDs.Count - 1 kbArticleId = update.KBArticleIDs(index2) For Each hotfixId in objArgs If kbArticleId = hotfixId Then If update.IsHidden = False Then WScript.Echo "Hiding update: " & update.Title update.IsHidden = True Else WScript.Echo "Already hiddn: " & update.Title End If End If Next Next Next '// EOF
To answer the question in the comments section: by "suspicious" update (in the context of the current superuser question) I mean any update that "just" tries to promote Windows 10.
As opposed to a "real" update for the current Windows OS: to fix security issues / particular malfunctions or improve / introduce certain functionality.
In addition you may want to add the following registry tweaks:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Gwx] "DisableGwx"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade] "ReservationsAllowed"=dword:00000000
If there is a certain program on Windows which you don't want to be executed, just tell Windows about it.
Open a command prompt or PowerShell as administrator and run the following.
reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\gwx.exe" /v Debugger /t REG_SZ /d "C:\Windows\System32\systray.exe" /f
This adds a new value
debugger to the registy under the specified key.
This tells Windows whenever
gwx.exe is started, to run something else instead. You could pick any small program that doesn't to anything. But most of them are console programs and that would result in a
cmd.exe flashing briefly after logon.
systray.exe just runs and quits.
If you ever want to allow
gwx.exe to run again remove that value:
reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\gwx.exe" /f
Microsoft can update and enable
gwx.exe as often as they like, you will never see it until they change its name.
Microsoft is also pushing Windows 10 in Windows update, to turn that off run:
reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DisableOSUpgrade /t REG_DWORD /d "1" /f
and to turn it back on, when you are ready to go 10:
reg.exe delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DisableOSUpgrade /f
A reboot is required for this to affect the Windows update dialog.
Many answers suggest simply hiding the icon (instead of disabling the ad program). Here is a more radical approach: Deny access to this ad program, so the system won't be able to run it.
[See update 3 below for an automated and improved version!]
Close or kill the ad program (if still running): Open the task manager (Ctrl + Shift + Esc), select "GWX.exe" and click "End Process".
Find the following file, right-click, Properties, Security:
Edit the permissions, select "Deny" "Full control" for all listed users/groups (or remove them, add "Everyone" and deny full control to everyone).
It turns out that denying access to the GWX directory as described below does not prevent access to the files in that directory on Windows. So the the ad program GWX.exe is still executable and will be run.
Original post (changing permissions for GWX directory only):
Find the following directory, right-click, Properties, Security:
Edit the permissions (see below if grayed out), remove all listed permissions. Add "Everyone" and select "Deny" "Full control". You should now have a list ("Group or user names") with one entry ("Everyone") and all checkboxes in the "Deny" column should be checked.
Double-check that you are really editing the permissions for "GWX" (if not, click "Cancel" immediately to prevent damage). If so, confirm by clicking OK.
It you can't change the permissions (buttons disabled / grayed out), take ownership of the directory first. Open the "Command Prompt" as administrator (Start menu, All Programs, Accessories, right-click Command Prompt, "run as administrator"). Make sure you're in your "system32" directory (
C:\Windows\system32>). Run the following command:
takeown /f GWX /r /d y
You should then be able to change the permissions of the directory.
If it comes back, double-check the permissions. It seems, the owner is sometimes automatically added back to the list and given full permissions to the GWX directory. Go back to the security settings of that directory and remove entries that grant permissions (checkbox in Allow column).
It seems just changing the permissions of the GWX.exe file might be a bit unreliable. Windows may (apparently) replace that file after a while (probably after another update), at which point the ad will show up again. The new file will have default permissions, the modification is lost. A combination (removing permissions from that file as well as the parent directory) might work better.
Here is a (probably incomplete) list of updates that may try to (re)install this GWX downloader:
Here is a more complete approach. These commands can be copied into a command prompt which is running as administrator (look for "cmd" in the start menu, right-click, run as administrator) or they can be copied into a file that ends with ".bat", which can then be executed (right-click, run as administrator).
Note that Windows uses CRLF linebreaks, so before you copy the bat file to a Windows system, convert it using unix2dos (run
taskkill.exe /F /IM "gwx.exe" takeown /f "%windir%\System32\GWX" /r /d y ECHO Y| CACLS "C:\Windows\System32\GWX" /C /G Administrators:F del "C:\Windows\System32\GWX\*.exe" ECHO Y| CACLS "C:\Windows\System32\GWX" /C /G Administrators:R icacls "C:\Windows\System32\GWX" /deny Everyone:(CI)(OI)F
What it does:
After a reboot, it should not reappear (leave a comment if it does).
Hopefully, this should prevent Windows from reinstalling the nagware into this directory.
Note: It appears that this mechanism may not be completely reliable, Windows might be able to reinstall GWX.exe in some cases. The commands listed above may have to be improved.
For those who prefer to copy/paste commands rather than clicking around, run this in an elevated Command Prompt or from a
.cmd batch file (as administrator):
Kill the GWX.exe task:
TASKKILL /IM GWX.exe /T /F
Disable it for future sessions:
REG ADD HKLM\SOFTWARE\Policies\Microsoft\Windows\Gwx /v DisableGWX /d 1 /f
To escape the forced upgrade, paste this into Notepad, save it as a .BAT file and run it from an elevated command prompt:
wusa /uninstall /kb:3068708 /quiet /norestart wusa /uninstall /kb:3022345 /quiet /norestart wusa /uninstall /kb:2952664 /quiet /norestart wusa /uninstall /kb:2976978 /quiet /norestart wusa /uninstall /kb:2977759 /quiet /norestart wusa /uninstall /kb:3075249 /quiet /norestart wusa /uninstall /kb:3080149 /quiet /norestart wusa /uninstall /KB:3035583 /quiet /norestart
After doing this, restart your current version of Windows and hide the above mentioned updates.
Note that for every month, you may have to hide these updates as they are automatically getting shown again
The GWX Control Panel software can allow you to easily disable the Windows 10 icon in the notification area among other Windows 10 upgrade related shenanigans in Windows 7 and 8.
This is a free tool that can remove and disable the 'Get Windows 10' notification area icon on Windows 7 and Windows 8. Recent versions can also disable 'Upgrade to Windows 10' behavior in the Windows Update control panel and do much more. See the user guide at the Ultimate Outsider blog.
The latest and greatest (and easiest) way to get rid of the icon and prevent the update is Never10:
Just one click to disable. This uses official registry entries to prevent OS upgrades. More technical details here:
Microsoft has confirmed to WinBeta.org it will soon Remove the use of the Windows 10 upgrade nag.
It will become effective after July 29th 2016
Details are still being finalized, but on July 29th the Get Windows 10 app that facilitates the easy upgrade to Windows 10 will be disabled and eventually removed from PCs worldwide.
For Windows 7 and Windows 8.1 users who have resisted the move to Windows 10 it means the upgrade prompts will disappear. Third-party apps have allowed many to disable the notifications, and system administrators can kill the process for business machines.
This may seem obvious, but have you tried hiding the icon in the task tray icon customization panel?
For those of you that have all of your icons showing, and do not use the "more icons" panel, you can also access the Notification Area Icons settings through the control panel, as this should work regardless of whether or not you use the more icons panel.
To access the settings through the Control Panel, open it and change your "View by" setting to either "Large icons" or "Small icons", and you should then see it listed as one of the options in the panel.
None of the solutions posted here worked reliably for me, as the nagging Windows 10 icon came back after every update. My solution was simple:
GWXfolder to something else, like
Voila, the update nag is gone and Windows Update thinks GWX is still installed, so it doesn't try to reinstall it.
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?