Я пишу код для автоматической загрузки и установки обновлений Windows.
(с использованием «tlbimped» wuapi.dll и некоторого примера кода, найденного через Интернет).
UpdateDownloader updateDownloader = Sesion.CreateUpdateDownloader();
updateDownloader.Updates = new UpdateCollection() { Item };
updateDownloader.BeginDownload(this, this, this);
И это нормально - я успешно могу загрузить и установить обновление. Но я предпочитаю кэшировать элементы и не загружать их, если этот элемент уже существует в «специальной» папке. Google говорит, что я могу использовать:
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);
}
Элемент не нулевой, загружен. Может быть установлен, но не может быть скопирован по указанному пути.