395

This icon showed up in my taskbar notification area today and I cannot seem to get rid of it:

Windows 10 icon in the taskbar

Clicking on it displays the following screen:

"Get Windows 10" popup with an explanation that this is a free upgrade to Windows 10

So how do I disable or remove the "Get Windows 10" icon?

1

14 Answers 14

273

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.

1

19
  • 7
    @trejder: The app actually downloads the Win10 bits over time, so that you'll be ready to install it on July 29. That's all the "reservation" is. If you remove the update you'll obviously have no notifications and no auto-downloaded Win10. You will still be able to update manually after July 29, via WU and most probably using ISOs too.
    – Karan
    Jun 8, 2015 at 18:03
  • 9
    @trejder it's a common phrase, btw, i just noticed that you copy-paste words from dictionary, starting with "i have" without giving them a proper credit. That's somehow a bad behavior.
    – Reishin
    Jun 8, 2015 at 20:57
  • 22
    @trejder: I don't plagiarise and always give a source link in my answers. BTW I was unaware of that article till Jeeva linked to it later. Moreover I find it interesting that you automatically assumed I copied it instead of the other way round. That article was written on the same day as my answer, and moreover I've found other articles in the past on tech blogs/sites that clearly seem to have copied from SU answers (including mine) without attribution. However it's not as if people can't come up with similar content independently. Hence please take care not to accuse without proof, thank you.
    – Karan
    Jun 9, 2015 at 7:28
  • 8
    @Karan Seems, that I made a mistake. Sorry. Anyone is allowed to make mistakes. My fault, sorry.
    – trejder
    Jun 9, 2015 at 8:26
  • 10
    @trejder: It's all right, no hard feelings. I appreciate that you're trying to ensure that all answers and answer givers on this site maintain high standards. If you ever see an answer that has been plagiarised in its entirety from any site (or even a previous answer) without proper attribution, don't hesitate to flag it so the mods can take a look. Thanks for your diligence. :)
    – Karan
    Jun 9, 2015 at 8:54
59
  • Run Autoruns as Administrator, unhide Windows/Microsoft entries via Options
  • Search for gwx.
  • Disable the items that don't give an access denied message.

Autoruns screenshot

6
  • 3
    Cool tool! Like a modern day Hijack This!
    – Brad
    Jun 1, 2015 at 14:33
  • 2
    @Brad it's usually used in conjunction with HJT... at least back in my comp repair days we used both.
    – SnakeDoc
    Jun 4, 2015 at 21:39
  • And this really works! Thanks, +1!
    – Sk8erPeter
    Jul 1, 2015 at 12:21
  • 1
    Worked for a couple of days.
    – simon
    Oct 5, 2015 at 18:58
  • Should not have to install another program
    – Panther
    Nov 2, 2015 at 22:31
40

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:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Gwx]
"DisableGwx"=dword:00000001

To create this:

  1. Run regedit.exe as an administrator.
  2. Create a key named Gwx within HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\.
  3. Create new dword value, named DisableGwx, with a value of 1.

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.

4
  • 1
    The referenced article doesn't include the CurrentVersion segment.
    – Max Toro
    Jun 7, 2015 at 3:55
  • 1
    @MaxToro If you see a clear mistake, then edit the answer instead of just leaving a comment. That's for what edit link is. I have just proposed edit to this answer to reflect this incorrect registry key. Waiting for an approval.
    – trejder
    Jun 8, 2015 at 19:47
  • 8
    @trejder Actually is common curiosity to inform the author and let them decide whether it should be changed.
    – user692942
    Aug 9, 2015 at 12:00
  • 1
    And to be honest, @trejder, your edit wasn't simply changing the registry key (which was originally changed to incorrect, amusingly, by a suggested edit that I'd assumed was a correct correction). Generally broader changes (that change the tone, content, or meaning of the answer, instead of just rephrasing and correcting it) should probably be left to the author or added as a new answer unless it is a Community Wiki.
    – Jeeva
    Aug 9, 2015 at 12:16
33

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.

6
  • 27
    I did this yesterday on my Windows 7 system. I worked at the time but the notification icon is back in my system tray this morning... Jun 2, 2015 at 9:06
  • 10
    Looks promising, however the setting seems to reset on next login.
    – Suma
    Jun 2, 2015 at 15:10
  • 1
    This doesn't work on Win7 for me either. You just can't thing the thing off.
    – Tonny
    Jun 2, 2015 at 19:57
  • 1
    Shoving the icon in the overflow menu isn't an option for those of us who disabled it because we don't want Windows hiding icons from us.
    – jpmc26
    Jun 4, 2015 at 16:11
  • 1
    Looks like today's update to GWX fixed this issue - the icon stays hidden after reboots.
    – gronostaj
    Jul 14, 2015 at 22:59
33

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:

  • "uninstall" any suspect windows update
  • "hide" it from future update runs

"BlockWindows10.bat":

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

Notes:

  • Use at your own risk
  • Invoke the *.bat as "elevated"
  • Remember to reboot Windows after the script has completed
  • From time to time Microsoft releases a new revision of a particular update - it's then required to hide it again
  • Feel free to revise or extend the list of suspicious updates

Edit1:
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.

Edit2:
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
5
  • What do you call suspect windows update ?
    – A.L
    Jun 5, 2015 at 15:17
  • From what I've seen, KB3035583 is the only update you actually need to block. Some of the others have functionality not directly related to the Windows 10 upgrade and should be left alone.
    – nstenz
    Jun 22, 2015 at 16:17
  • 1
    There's a typo in line 32 of HideWindowsUpdates.vbs: "hiddn" -> "hidden". I'd edit it myself, but there it is that silly "Edits must be at least 6 characters" rule that prevents me from correcting that single character. ;-) BTW, it would be nice to add some code to warn if an update does not exist, and maybe also some kind of "error level" handling.
    – Wayfarer
    Jul 27, 2015 at 11:48
  • 1
    Why doesn't the first script uninstall KB3012973?
    – martineau
    Dec 26, 2015 at 15:13
  • I bet this could be done as a single script in PowerShell.
    – jpmc26
    Feb 18, 2016 at 5:24
7

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.

3
  • "This tells Windows whenever gwx.exe is started, to run something else instead..." - how do we send it to the equivalent to /dev/null?
    – jww
    Oct 6, 2015 at 21:50
  • Do you really think completely turning Windows update completely off is a good advice?
    – martineau
    Dec 26, 2015 at 15:31
  • 3
    Gwx.exe is not Windows update, it is just the Windows 10 tray application. Dec 26, 2015 at 17:05
7

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:

C:\Windows\System32\GWX\GWX.exe

Edit the permissions, select "Deny" "Full control" for all listed users/groups (or remove them, add "Everyone" and deny full control to everyone).

Update:

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:

C:\Windows\System32\GWX

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).

Update 2:

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:

Update 3:

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 unix2dos file.bat).

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:

  1. It kills the nagware process, if running.
  2. It takes ownership of the GWX directory in order to be able to modify its permissions.
  3. It grants administrators access to that directory in order to be able to modify it.
  4. It deletes all executable files in that directory, including GWX.exe (the nagware program).
  5. It changes the directory permissions for administrators to read-only.
  6. It denies access for everyone to that directory.

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.

5
  • I have had good results deleting the GWX directory, then creating a zero-length file with the same name with restrictive permissions. TrustedInstaller will see a GWX entry, so it won't try re-creating it, and will try changing directory to GWX instead - impossible since it's a file - and it will silently crash. (I say, I have removed viruses that were less obstinate than this).
    – LSerni
    Aug 7, 2015 at 23:04
  • lserni: Good idea! Sounds like an alternative, you should probably turn this into an answer.
    – basic6
    Aug 17, 2015 at 7:28
  • 1
    To the person who downvoted: Why? Please explain in a comment. If the answer contains errors, those should be corrected, but I cannot do that if I don't know about those errors.
    – basic6
    Aug 21, 2015 at 16:41
  • @Basic6 - don't worry about the downvote. There are some Microsoft Fanboi's on Super User, and they downvote anything that goes against the Microsoft party line. Its not limited to Microsoft; there are Apple and Linux Fanboi's, too.
    – jww
    Oct 6, 2015 at 21:49
  • Great solution! But.. how can you say that Windows itself cannot take ownership and reset permissions?
    – Ajay
    Dec 18, 2015 at 15:04
6

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
6

Quick way to get rid of Windows 10

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

Source

5

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.

screenshot of GWX Control Panel

2

The latest and greatest (and easiest) way to get rid of the icon and prevent the update is Never10:

https://www.grc.com/never10.htm

Never10

Just one click to disable. This uses official registry entries to prevent OS upgrades. More technical details here:

https://www.grc.com/never10/details.htm

4
  • Does this also restore the Windows Update control panel to its normal behavior if it gets hijacked by Windows 10 advertisements or installers? Like so: i.stack.imgur.com/3kQGw.png Apr 2, 2016 at 6:57
  • I have a machine that has that behavior, next time I get a chance I will try it. Apr 2, 2016 at 21:42
  • Unfortunately(!?) I couldn't get it to reproduce the behavior, but I think it should work. Apr 18, 2016 at 16:50
  • +1. This should be the current, recommended way to disable the auto Windows 10 notifications and upgrade.
    – Ben Miller
    Apr 27, 2016 at 14:08
1

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.

http://www.winbeta.org/news/get-windows-10-app-will-removed-windows-78-1-july-29th-free-offer-ends

-1

This may seem obvious, but have you tried hiding the icon in the task tray icon customization panel?

1

2

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.

3

12
  • 15
    This still leaves the process running (using memory, etc) and needlessly crowds the dock. I'm a fan of "run less things". However this is still one solution to the issue, depending on the goal.
    – Resorath
    Jun 1, 2015 at 22:49
  • 8
    This is the exact same as Hugh Jeffner's answer that quotes the FAQ.
    – Karan
    Jun 1, 2015 at 22:58
  • @Karan Oops, I must have missed that. Jun 2, 2015 at 1:43
  • 14
    I did this, but after every restart the setting for GWX is back to "Show icon and notifications". Have you an idea why that could happen?
    – Raidri
    Jun 2, 2015 at 10:44
  • 1
    @DavidB It is GWX problem and only GWX icon always show after restart the computer. I had tried to reset notification icons, everything works fine all other icons can hide and show only notification except GWX.
    – vee
    Jun 4, 2015 at 7:04
-2

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:

  1. Kill the GWX.exe process
  2. Go to Windows\System32\GWX
  3. Rename the GWX folder to something else, like GWX123

Voila, the update nag is gone and Windows Update thinks GWX is still installed, so it doesn't try to reinstall it.

1
  • If you retake the update in the selected solution you will need to re-remove the update. May 17, 2016 at 22:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .