Windows – How to tell Windows to shut up about Silverlight

silverlightwindows 7windows update

The problem is described well here, so I won't repeat it; but basically, hiding the Silverlight update the naive way doesn't work.

So the question is — how do I tell Windows to shut up about Silverlight and stop bringing it up on the list?

Best Answer

So, problem is there are 7 different versions of Silverlight. Some are older, some are newer.

You can manually Hide, "Check for Updates", Options, Hide them in a loop 7 or more times. I don't want to do that manually so I wrote a WSH js, save as WUA_xSilverlight.js:

var wu_Session = WScript.CreateObject("Microsoft.Update.Session");
var wu_Searcher = wu_Session.CreateUpdateSearcher();
wu_Searcher.Online = false;

do {
  WScript.echo("Searching...");
  var silverstreak = false;
  var searchResult = wu_Searcher.Search("IsHidden=0 And IsInstalled=0");

  for(var i=0; i<searchResult.Updates.Count; i++){
    var wupdate = searchResult.Updates.Item(i);
    if ( ! wupdate.Title.indexOf("Microsoft Silverlight") ) { // if -1
    wupdate.IsHidden=1;
    WScript.echo("   Hiding update: " + wupdate.Title);
    silverstreak = true;
    }
  }
} while ( silverstreak );  // repeat search

Execute the saved file: cscript.exe WUA_xSilverlight.js. I could have optimized the search and so the code, but it works so blah.