我正在尝试创建一个可以静默处理更新的程序。我正在使用 wuapilib.dll,它带有许多类(c#)。我对该程序的第一次修订如下(忽略错字问题 - 它在另一台没有互联网访问的计算机上,所以我手动输入):
IUpdateSession mySess = new UpdateSession();
IUpdateSearcher mySear = mySess.CreateUpdateSearcher();
ISearchResult myRes = mySear.Search("Type='Software'");
IUpdateDownloader myDown = mySess.CreateUpdateDownloader();
IUpdateInstaller myInst = mySess.CreateUpdateInstaller();
myDown.Updates = myRes.Updates;
myDown.Download();
myInst.Updates = myRes.Updates;
myInst.Install();
忽略已经下载或安装更新的情况,我省略了上面的逻辑。我的问题是 IUpdateInstaller 不允许您强制安静安装 - 许多更新需要用户单击确认框。IUpdateInstaller2 类可以(我从这里的第二篇文章中得到),但对于我的生活,我找不到获取 IUpdateInstaller2 对象的方法。似乎没有任何返回值,并且 Microsoft 的文档不包含任何示例代码。广泛的谷歌搜索没有返回任何用处。
我想我真的很接近 - 功能就在那里,我只是无法访问它。
谢谢你的帮助。