Windows Update API c#:设置下载位置

Windows Update API c#:设置下载位置,c#,.net,windows,hotfix,C#,.net,Windows,Hotfix,我正在编写一个代码来自动下载和安装windows更新。 (使用“tlbimped”wuapi.dll和互联网上的一些示例代码) 很好,我可以成功下载并安装更新。但是,我更喜欢缓存项目,如果该项目已经存在于“特殊”文件夹中,则不下载它们。谷歌说,我可以使用: IUpdate.CopyFromCache(path, true); 但这对我不起作用:( 下面是示例代码 IUpdate Item { get; set; } public UpdateSession Sesion { get; set;

我正在编写一个代码来自动下载和安装windows更新。 (使用“tlbimped”wuapi.dll和互联网上的一些示例代码)

很好,我可以成功下载并安装更新。但是,我更喜欢缓存项目,如果该项目已经存在于“特殊”文件夹中,则不下载它们。谷歌说,我可以使用:

IUpdate.CopyFromCache(path, true);
但这对我不起作用:(

下面是示例代码

IUpdate Item { get; set; }
public UpdateSession Sesion { get; set; }

void CopyToFolder()
{
 string path=Environment.CurrentDirectory + @"\Updates";

 DirectoryInfo di = new  DirectoryInfo(path);

 if (!di.Exists) Directory.CreateDirectory(path);

 Item.CopyFromCache(path, true);
}

项不为空,已下载。可以安装,但无法复制到指定路径。

解决方案非常简单-我们应该复制子(捆绑)更新,而不是主(父)更新


这正是IUpdate界面页面备注部分所述的答案:

如果BundleUpdate属性包含IUpdateCollection,则某些 更新的属性和方法只能在 捆绑更新,例如DownloadContents或CopyFromCache。“


欢迎来到StackOverflow。“这对我没用”没有任何用处。这到底意味着什么?您是否收到错误消息?如果收到,消息的确切文本是什么?如果没有这些信息,您的问题很难回答。请记住,我们无法从这里看到您的显示器,而且大多数人的ESP不够强大,无法在全世界范围内工作。:)请编辑您的问题,并添加有关您正在处理的特定问题的更多信息,以便我们可以尝试帮助您。很抱歉延迟。“它对我不起作用”意味着该方法在没有任何ARROR的情况下执行。而且什么也没发生。我没有看到任何文件添加到“路径”目录中。@Ken White,很抱歉,我没有提供详细信息。现在一切都好起来了(我希望)
IUpdate Item { get; set; }
public UpdateSession Sesion { get; set; }

void CopyToFolder()
{
 string path=Environment.CurrentDirectory + @"\Updates";

 DirectoryInfo di = new  DirectoryInfo(path);

 if (!di.Exists) Directory.CreateDirectory(path);

 Item.CopyFromCache(path, true);
}
foreach (IUpdate child in Item.BundledUpdates)
{
   child.CopyFromCache(path, false);
}