问题描述得很好这里,所以我就不再重复了;但基本上,以简单的方式隐藏 Silverlight 更新是行不通的。
所以问题是——做我告诉 Windows 不要再谈论 Silverlight 并且不要再将其列入列表?
答案1
问题是 Silverlight 有 7 个不同版本。有些比较旧,有些比较新。
您可以手动隐藏“检查更新”选项,循环隐藏它们 7 次或更多次。我不想手动执行此操作,所以我编写了一个 WSH js,保存为 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
执行保存的文件:cscript.exe WUA_xSilverlight.js。我本可以优化搜索和代码,但它的效果却很糟糕。
答案2
当我隐藏 Bing Desktop v1.3 并且 Bing Desktop 1.2 出现时,问题就变得很明显了。经过仔细检查,我注意到 Silverlight 更新的日期各不相同。
假设发布了 10 个 Silverlight 版本。V10 将取代 v1 到 v9,并且只显示 v10。选择隐藏 v10 将导致显示 v9,隐藏 v9 将在下次检查更新时显示 v8,依此类推。
如果您坚持这样做,您可以隐藏 Silverlight 的每个版本,它将不再显示(直到 MS 发布下一个版本)。
答案3
我最近也遇到了这个问题,在为工作安装了 Windows 7 VM 后。我已经很长时间没有使用 Windows 了,这对我来说也很烦人。
我安装了全新 Windows 7,升级到撰写本文时的最新服务包,并拒绝安装 Silverlight。然而,Windows 7 的服务包现在似乎“预加载”了 Silverlight 的部分内容,即使没有安装,它也会在 Windows Update 中显示技术上已完全安装。非常恼人。
为了解决这个问题,我遵循了移除说明在 Microsoft 支持网站的以下文章中:如何清理损坏的 Silverlight 安装然后重新安装 Silverlight。
从“让我自己修复”部分完全删除后,Silverlight 再也没有出现在我的 Windows 更新中。
更新(2015 09 17):如果您安装了 Microsoft Office,则此方法无效。如前所述,它适用于 Windows 7。安装 Office 2013 后,Silverlight 会安装,Microsoft Update 中的更新会保留。我还没有找到在安装了 Office 的情况下停止此方法的方法。如果没有 Office,可能只有 Office 2013,这些说明仍然有效。
答案4
输入 Regedit 并查找以下路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Silverlight
其中有一个名为“UpdateConsentMode”的键,其值在安装时设置为 1。将其更改为 0 将禁用提醒。