Windows 7 - Remove EOSNotify

toomuchpie

New Member
Add an option to remove EOSNotify which is included in the December 2019 and January 2020 cumulative updates for Windows 7.

I run this in post setup with PowerRun to get rid of all traces I could find of it:

schtasks /delete /tn "\Microsoft\Windows\Setup\EOSNotify" /f
schtasks /delete /tn "\Microsoft\Windows\Setup\EOSNotify2" /f
del /s C:\Windows\winsxs\Manifests\amd64_microsoft-windows-eosnotify_31bf3856ad364e35_6.1.7601.24544_none_44332005faee77b8.manifest
rmdir /s /q C:\Windows\winsxs\amd64_microsoft-windows-eosnotify_31bf3856ad364e35_6.1.7601.24544_none_44332005faee77b8
del /s C:\Windows\Migration\WTR\EOSNotifyMig.inf
del /s C:\Windows\System32\EOSNotify.exe
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners\amd64_microsoft-windows-eosnotify_31bf3856ad364e35_none_cf9552e0f1896db2 /f
 

nuhi

NTLite developer
Staff member
toomuchpie, thanks for the suggestion, will be done in the next update.

abbodi86, thanks for the heads up on the tweak as well. It is my goal that both options are available; tricky environment goes with config and MS engines only, home/enthusiast can go further and remove the files as well. It is up to the user.
I prefer removing the unused files and upgrading with trimmed ISOs (self-upgrade mode, aka host refresh), don't need to worry if the latest update re-enabled anything.

Kasual, thanks, just to add that abbodi86 is used to the scripting world where admins take full control over the manual config and cannot afford 3rd party mistakes on the machines - so less changes the better in those cases.
We are interested in the complete option as well of course, not everyone is for that, pros and cons for both sides - my goal as mentioned before is to have both.
Either way please let the tone slides next time, very valuable member like yourself and I don't mind the occasional bump against the closed source or going too deep.
 

xCom

New Member
Is it possible to make a simple bat script (with values from above) for deleting everything related to EOS?
 

nuhi

NTLite developer
Staff member
Component added and uploaded.
Let me know if you see any issues with it, looked fine here.

What I would like to do next is detect telemetry client and eosnotify before update rollups are integrated, that is if they are just inserted to the queue.
Until that, integrate first, I suggest backup that ISO anyway as the starting point before any changes, then reload and do the changes.
Still for those that integrate and edit in one go, even though in Win7 that takes a long time and is not recommended if you want to change things, will see about the above mentioned.

Thanks.
 

toomuchpie

New Member
Component added and uploaded.
Let me know if you see any issues with it, looked fine here.

What I would like to do next is detect telemetry client and eosnotify before update rollups are integrated, that is if they are just inserted to the queue.
Until that, integrate first, I suggest backup that ISO anyway as the starting point before any changes, then reload and do the changes.
Still for those that integrate and edit in one go, even though in Win7 that takes a long time and is not recommended if you want to change things, will see about the above mentioned.

Thanks.
I tried testing out the removal of EOSNotify in NTLite and it definitely stopped the notification from running, but the files still seem to be there. I went into Settings and disabled it first, and then I went into Components and removed it. If I reload the image back into NTLite, I still see it disabled in Settings, but it seems to have disappeared in Components (no longer an option to remove).
 

Clanger

Well-Known Member
Each to their own, i would use either method depending on my mood. I got the EOL window but you get an ignore(or summat like that) option and i disabled the task. :)
 

Clanger

Well-Known Member
I clicked the "dont remind me again" option, disabled the 2 tasks in Setup and that warning doesnt appear again. :)
 

sli

New Member
There are some files still remaining because there is more than one SxS module installed for the Windows 7 End Of Service Notifier application (EOSNotify)...

To date 17-Feb-2020 (after the End Of Support for Windows 7 on 14-Jan-2020), I have counted 4 updates which install EOSNotify while using WSUS Offline Update to install Security-Only updates onto a fresh installation of Microsoft Windows 7 Pro SP1 x64 RTM 2012 Official ISO, they are:

KB4493132 October 17, 2019 Windows 7 SP1 support notification for Windows 7
KB4524752 October 17, 2019 Windows 7 SP1 support notification for Windows 7 Professional
KB4530692 December 10, 2019 KB4530692 (Security-only update)
KB4534314 January 14, 2020 KB4534314 (Security-only update)

You should NOT exclude/remove the latter two Security-only updates from your ISO because they also contain important (security) patches!

Each of the above updates have a different varient of the EOSNotify SxS module manifest, these are:

amd64_microsoft-windows-eosnotify_31bf3856ad364e35_6.1.7600.18067_none_41b0929ee4b7e75e
amd64_microsoft-windows-eosnotify_31bf3856ad364e35_6.1.7600.22194_none_4216bec7fdf08ef6
amd64_microsoft-windows-eosnotify_31bf3856ad364e35_6.1.7601.24541_none_44301f27faf12bb3
amd64_microsoft-windows-eosnotify_31bf3856ad364e35_6.1.7601.24544_none_44332005faee77b8

There is only one entry in the registry , which is:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners\amd64_microsoft-windows-eosnotify_31bf3856ad364e35_none_cf9552e0f1896db2

(Note, I have also tried using the KB3125574 Convenience rollup update for Windows 7 SP1 (originally released in 2016) and although that update did not include EOSNotify, it's prerequisits packages (the SSU) did inlcude GWX (the Get Windows 10 application), so I have avoided it.)

So, given that EOSNotify is now included in other updates which cannot be avoided, the only option is to remove the EOSNotify application after it installed. Blocking the standalone updates is not enough...

For doing that on my systems I have compiled this batch script which removes EOSNotify program from the SxS sub-system manifest and also the related scheduled tasks. I run it both before applying updates (to block notifications) and afterwards (to remove the application).

My script sets the "DisableGwx" and "DisableOSUpgrade" opt-out flags in the registry as recommended at the original release back in 2016, in addition to setting "DiscontinueEOS" and "Discontinue" opt-out flags in the registry as recommended by Microsoft in KB4524752 in Oct 2019. I suggest the script can be run to set these flags before any updates are applied to a fresh install, to prevent the prompt(s) from appearing.

It would be great if this functionality could be integrated by nuhi into NTLite by Nlitesoft and other tools like WSUS Offline Update by Torsten Wittrock, for example. I welcome anyone to use the information I have gathered here to enable them to clean up Windows 7 installations, it would benefit the community greatly.

However, as nuhi points out I think it is important that the user has the choice wether or not to completely remove EOSNotify or to simply disable it from running, as there are pro's and con's of each solution.

I have tested the batch script extensively on my systems but I suggest that you review the contents of it carefully to make sure you are OK with what it does to your installation(s) before you run it/integrate it into your ISO.

I hope this is useful to help you find out how to remove EOSNotify from Windows 7 to prevent End Of Support notification nag screen, and I welcome any feedback anyone may have regarding my script which will help you to automate the process.

I have attached my batch script (and also a VBS script I found which can detect and hide the EOSNotify standalone updates if they are pending). I have commented the script to enable anyone to follow what is happening during the uninstallation of EOSNotify.EXE in the hope that it will be useful for you if you are developing a better solution this issue.

Bests,

sli
 

Attachments

Last edited:

abbodi86

Member
neither KB3125574 or its prerequisite SSU inlcude GWX
it only contain the same telemetry components now found in monthly rollup

this whole telemetry thing in Win 7/8.1 is too much overhyped
it's simple and can be easily disabled
 

sli

New Member
neither KB3125574 or its prerequisite SSU inlcude GWX
Thanks, I was mistaken. You are correct, that was not the update that included GWX. I think I may have used a later Servicing Stack Update that what was required for the convienience rollup the system got the GWX components from a different source, although I'm not sure exactly which one(s)?!


this whole telemetry thing in Win 7/8.1 is too much overhyped
it's simple and can be easily disabled
I agree, although we are not concerned about telemetry here but rather the on-screen prompts that can result in a machine being upgraded to Windows 10 unintentionally by a novice user...

Regardless of CEIP it is important for workgroup deployment stability that the GWX and EOS prompts do not appear on those machines (by enforcing the "DisableGwx", "DisableOSUpgrade" and "DiscontinueEOS" opt-out flag(s) in the GPO or registry as you suggested).

Because it is not always possible to make changes to the local group policy or registry by remote admins, then another possible method would be to remove those applications from the system installer ISO by excluding the relevant update packages.

However, because of the the inclusion of EOSNotify into Important Security-only updates (such as KB4534314), then uninstalling them from already deployed systems, and then blocking future reinstallation of them, as the OP had attempted to do, is a valid suggestion.

I have provided a means for the OP to accomplish this, in my script above.
 

Clanger

Well-Known Member
Im still not getting the EOL window, silence is golden and all it takes is 3 lines in a cmd file.

Agree that there are different ways to accomplish this and move on.
 

Clanger

Well-Known Member
I havnt yet, i did it manually on a running test system. Having that window appear once isnt the end of the world. Create 3 commands and done.
 

sli

New Member
I see, but doing this manually on tens or hundreds of Workgroup based machines is not practical.

I believe the OP was suggesting to have this feature integrated into the created installer ISO's, so that the end users does not have to run the commands manually to avoid seeing the EOS window.

It will be interesting to know what possible ways there are that could work, for example what about adding a RunOnce entry to the script?

Perhaps a Startup Script in the GPO would be better, but I do not know how to define this for non-domain (Workgroup) installations.

Does anyone know if there is there a function for such in NTLite?
 

sli

New Member
Thanks! I appreciate your input, I would like to translate our findings so far into an automated solution...

What are the 3 commands you used?
 

Clanger

Well-Known Member
Someone find me a crow.
I did it manually, all the answers are above. I clicked the "dont remind me again" option when i got that window then i went into Task Scheduler, taskschd.msc from power run and just disabled the 2 tasks, post no 1 tells you where they are and gives you the code to add to a command. Someone mentioned or gave me the registry setting to disable it but im bugad if i can remember who and where.

That pc is in pieces(i know the feeling) waiting to be moved, then on for 1 session before it has its hardware changed so i cant use it.
 

sli

New Member
Thats OK, I compiled some various relevant registry settings from various places into this .reg file:

Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\WAU]
"Disabled"=dword:00000001

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

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"DisableOSUpgrade"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"EnableFeaturedSoftware"=dword:00000000
"AUPowerManagement"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\EOSNotify]
"DiscontinueEOS"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\EOSNOTIFY.EXE]
"Debugger"="*"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\SIPNOTIFY.EXE]
"Debugger"="*"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade]
"ReservationsAllowed"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Error Reporting]
"DontSendAdditionalData"=dword:00000001
"Disabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Messenger\Client]
"PreventRun"=dword:00000001
"PreventAutoRun"=dword:00000001
"CEIP"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main]
"NoReportSiteProblems"="yes"
"DisablePasswordReveal"=dword:00000001
"Update_Check_Interval"=dword:0000016d

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"HideSCAHealth"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\EOSNotify]
"DiscontinueEOS"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\EOSNotify]
"Discontinue"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\SipNotify]
"DontRemindMe"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"HideSCAHealth"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\WAU]
"Disabled"=dword:00000001
I am not sure exactly which is the correct one, perhaps the "DiscontinueEOS" value, although I don't see much harm in setting the others too, as windows update still works, and also it's quite nice and peaceful to have the Action Centre "HideSCAHealth" tray icon and bubbles completely invisible actually :)


Regarding the Scheduled Tasks, the OP's commands I am using in my script to remove those are:

Code:
ECHO Removing EOSNotify scheduled tasks...
schtasks /delete /tn "\Microsoft\Windows\Setup\EOSNotify" /f
schtasks /delete /tn "\Microsoft\Windows\Setup\EOSNotify2" /f

The question is now I wonder where to put this so that it can be integrated into the creation of new Windows 7 installation ISO?
 

Attachments

Top