3

During their Windows 10 blitz, some blockhead at Microsoft thought it would be a great idea to push out "nag" marketing messages to Windows 7 users, under the guise of Windows Updates. To make matters worse, it took them a few tries to get it right, resulting in several related patches which might be shown.

When I install new Windows 7 SP1 computers from scratch (and yes, there are still legitimate reasons for doing so), what's the quickest and easiest way to prevent these unwanted "updates" from ever getting applied in the first place?

1
  • 3
    This post is not meant to be a criticism of Windows 10 or to spark a why-I-should-upgrade discussion. I'm simply looking for a way to permanently disable the nags.
    – rkagerer
    Aug 10, 2015 at 0:14

2 Answers 2

2

I found some manual steps here and here, and attempted to automate them using the dirty-and-not-so-quick script below (based on this). But it takes over half an hour to run and I'm leaving the question open in hopes someone can suggest a more convenient solution.

Dim msg
msg = "Searching for and hiding six Windows Updates related to Windows 10 nagging." & vbCrLf
msg = msg & "Be patient; this may take a LONG time during which nothing appears to happen."
msg = msg & " You can tell the script is still running by using Task Manager and looking for wscript.exe"
Wscript.echo msg

Dim hideupdates(5)
hideupdates(0) = "KB3035583"
hideupdates(1) = "KB2952664"
hideupdates(2) = "KB2976978"
hideupdates(3) = "KB3021917"
hideupdates(4) = "KB3044374"
hideupdates(5) = "KB2990214"

Dim status(5)
For i = 0 to UBound(status)
  status(i) = "notfound"
Next

set updateSession = createObject("Microsoft.Update.Session")
set updateSearcher = updateSession.CreateupdateSearcher()

Set searchResult = updateSearcher.Search("IsInstalled=0 and Type='Software'")

dim results
Set results = searchResult.Updates
For i = 0 To results.Count-1
  set update = results.Item(i)
  For j = LBound(hideupdates) To UBound(hideupdates)
    if instr(1, update.Title, hideupdates(j), vbTextCompare) > 0 then
      if update.IsHidden then
        status(j) = "alreadyhidden"
      else
        update.IsHidden = True
        status(j) = "hidden"
      end if
    end if
  Next
Next

Dim alreadyhidden
Dim hidden
Dim notfound

for i = 0 to UBound(status)
  Select Case status(i)
    Case "alreadyhidden"
      alreadyhidden = alreadyhidden & hideupdates(i) & vbCrLf
    Case "notfound"
      notfound = notfound & hideupdates(i) & vbCrLf
    Case "hidden"
      hidden = hidden & hideupdates(i) & vbCrLf
  End Select
next
msg = "Hid these Windows 10 related updates:" & vbCrLf
msg = msg & hidden & vbCrLf
msg = msg & "These ones were already hidden:" & vbCrLf
msg = msg & alreadyhidden & vbCrLf
msg = msg & "These ones were not found on this machine:" & vbCrLf
msg = msg & notfound

Wscript.echo msg

5]

0

Quote rkagerer "what's the quickest and easiest way to prevent these unwanted "updates" from ever getting applied in the first place?" If you are doing a fresh install than

"Uncheck Recommended updates (Optional) in windows update settings."

It reads Give me recommended updates the same way i receive important updates. Afterwards you can individually check recommended updates those you wants to install if any. I don't recommend installing each recommended updates thrown by MS. Recently it created more mess than good.

You must log in to answer this question.

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