Các bản cập nhật đang được tải xuống từ máy chủ cục bộ chứ không phải từ WUS hoặc Microsoft Repositories. Máy chủ cục bộ là Linux dựa trên nội dung của máy chủ lưu trữ cho mỗi lần cập nhật.WUApiLib IUpdateInstaller2 mang lại lỗi; Một số cập nhật hệ điều hành cài đặt những người khác ném HResult -2145124318
Tôi không sử dụng UpdateDownloader
để tải xuống từ Máy chủ Microsoft, tôi tải xuống nội dung cập nhật theo cách thủ công và sau đó sử dụng CopyToCache
.
Những cài đặt tốt
Security Update cho Microsoft .NET Framework 3.5 SP1 trên Windows XP, Server 2003, Vista, Server 2008 x86 (KB2736416)
Security Update cho Microsoft Visual Studio 2010 (KB2542054)
Những Chẳng phải
Se curity Update for Microsoft .NET Framework 4 trên XP, Server 2003, Vista, Windows 7, Server 2008 x86 (KB2840628)
Update for Microsoft .NET Framework 3.5 SP1 trên Windows XP, Server 2003, Vista và Server 2008 x86 (KB2836940)
Làm thế nào quá trình tôi làm việc
tôi nhận được cho một cài đặt từ một máy chủ địa phương mà tôi sử dụng để tải về tất cả các nội dung tải về cho bản cập nhật. (Văn bản blockquote trên KB2840628 là ví dụ dưới đây)
{
"app_uris": [
{
"file_name": "msipatchregfix-x86_94a84b80b8b45a1ac53a0e5d085513da0f099655.exe",
"file_uri": "https://192.168.5.108/packages/d13c13c81f94fbb48f39c817a71ff239a31773d3a0e821a968dc42a913892841/msipatchregfix-x86_94a84b80b8b45a1ac53a0e5d085513da0f099655.exe",
"file_size": 130600
},
{
"file_name": "ndp40-kb2840628-v2-x86_891d50ff3c1322db3fb0fde222ebb0aaa5260272.exe",
"file_uri": "https://192.168.5.108/packages/d13c13c81f94fbb48f39c817a71ff239a31773d3a0e821a968dc42a913892841/ndp40-kb2840628-v2-x86_891d50ff3c1322db3fb0fde222ebb0aaa5260272.exe",
"file_size": 13294216
}
],
"app_id": "d13c13c81f94fbb48f39c817a71ff239a31773d3a0e821a968dc42a913892841",
"app_name": "Security Update for Microsoft .NET Framework 4 on XP, Server 2003, Vista, Windows 7, Server 2008 x86 (KB2840628)"
}
Với nói rằng, vấn đề là một số cập nhật cài đặt hoàn toàn tốt đẹp, nhưng thông tin cập nhật nhất định (Tôi tin rằng những người mà có nhiều hơn một bundle-updates
) don' t đi qua, lái xe của tôi tôi điên!
Lần đầu tiên tôi tải xuống mỗi Uri
và sau đó tải chúng vào bản cập nhật với CopyToCache
.
var collection = new UpdateCollection();
IList<string> updateFiles = Directory.GetFiles(updateFolder);
var fileCollection = new StringCollection();
try
{
foreach (var file in updateFiles)
fileCollection.Add(file);
//Error happens here on certain updates. Not all.
((IUpdate2)update.BundledUpdates[0]).CopyToCache(fileCollection);
collection.Add(update);
return collection;
}
catch (Exception e)
{
return null;
}
Sau này, bộ sưu tập trở lại được truyền thông qua phương pháp WindowsUpdateInstaller
tôi trình bày dưới đây:
IUpdateSession Session = new UpdateSession();
var updatesToInstall = //THIS GETS THE RETURN FROM THE ABOVE CODE...
var installer = (IUpdateInstaller2)Session.CreateUpdateInstaller();
installer.ForceQuiet = true;
installer.AllowSourcePrompts = false;
installer.Updates = updatesToInstall;
foreach (IUpdate updateNode in installer.Updates)
{
updateNode.AcceptEula();
}
//FAILS HERE WITH "-2145124318, Result code: orcFailed",
var installationRes = installer.Install();
var installResult = installationRes.GetUpdateResult(0);
Bản cập nhật cài đặt tốt nếu tôi nhấp chuột bằng tay đúp vào thực thi nó và cài đặt nó bằng tay mà không sử dụng mã.
là mã của bạn đang chạy trong một môi trường tương tác? Và thường những thứ này để lại các bản ghi khá chi tiết, nhiều hơn chỉ là một mã trả về '-2145124318'. Ngoài ra, Google nhanh chóng mang lại [this] (http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_update/windows-update-will-not-work-getting-error/500d9cbb-d394- 4f3b-ac32-88ad46414d2a) có thể đề xuất các bản cập nhật không thể kết nối với internet? Hoặc vì BITS, cài đặt proxy hoặc cách khác. –
@ ta.speot.is http://paste.ofcode.org/tzXzURmFHvLRNpYFpiekFG Tôi đã thử chạy nó trong chế độ gỡ lỗi trong VS2010. Tôi đã thử nghiệm nó trên XP, Windows 7. Các tập tin đang được đẩy đến 'IUpdate' thông qua' CopyToCache', tôi không thể có 'WUapi' lấy nó từ máy chủ của Microsoft. Ngoài ra, tôi có AU Disabled. – Dayan
Vâng, bản cập nhật không thành công có vẻ liên quan đến Windows Defender. Xem http://support.microsoft.com/kb/918355, đề cập đến 0x80240022. Nó nói để thử sử dụng phương pháp 2 để cài đặt bản cập nhật mà về cơ bản là "nó quá khó, cài đặt nó bằng tay". Có một tham chiếu đến lỗi [ở đây] (http://www.hanselman.com/blog/WindowsDefenderErrors0x8024402c0x80240022And1609.aspx) nhưng không chắc rằng các hướng dẫn đã lỗi thời ... –