我们有一台运行6天作业的服务器只是重置,因为Windows Update代理(WUA)会自动重启机器以安装更新。
我想改变我的C#应用程序以警告用户将来是否启用此设置,因此我们最终不会遭受随机重启,这会导致重启所述6天工作,浪费4天CPU时间。
有没有人知道是否可以在WUA内检查“重要更新”是否设置为“在C#中自动安装更新(推荐)”?
答案 0 :(得分:1)
Windows Update代理(WUA)有一个API,其一般用途描述于:
Install Windows Update Using C#
这是C#代码:
// See http://techforum4u.com/entry.php/11-Install-Windows-Update-Using-C
var auc = new WUApiLib.AutomaticUpdatesClass();
if (auc.Settings.NotificationLevel ==
AutomaticUpdatesNotificationLevel.aunlScheduledInstallation)
{
Console.Write("{0}Warning W20120307-1107. Windows Update Agent (WUA) is capable of rebooting the PC automatically. Recommend switching this off for the duration of this 6-day batch process.\n", NPrefix());
}
添加c:\WINDOWS\system32\wuapi.dll
后,如果出现编译错误,请参阅Interop type cannot be embedded。
请注意,此方法仅适用于Windows 7,在其周围添加try / catch以防止Windows XP崩溃。请参阅论坛,了解如何使其在XP上运行(您必须参考WUA版本1,用于Windows 7的WUA版本为2)。