Guest nop Posted August 29, 2007 Posted August 29, 2007 Hi, I've get an error after calling of IUpdate2::CopyToCache() method in my program. I trying to install windows updates (*.msu) at Windows Vista x86 with .NET program using WUA (as Interop.WUApiLib). My Code: ---------------------------------------------------- using System using System.Collections.Generic using System.IO using System.Diagnostics using WUApiLib namespace WUApiLibTest { static class Program { [sTAThread] static void Main() { // Update File: C:\Windows6.0-KB123456-x86.msu // Emoty Directory: C:\ExpandedUpdate\ Process expandProcess = new Process() expandProcess.StartInfo.FileName = "Expand" expandProcess.StartInfo.WorkingDirectory = @"C:\" expandProcess.StartInfo.Arguments = @"C:\Windows6.0-KB123456-x86.msu -f:WSUSSCAN.cab C:\ExpandedUpdate\" expandProcess.Start() expandProcess.WaitForExit() UpdateSessionClass updateSession = new UpdateSessionClass() IUpdateServiceManager updateServiceManager = updateSession.CreateUpdateServiceManager() IUpdateService updateService = updateServiceManager.AddScanPackageService("Offline Sync Service", @"C:\ExpandedUpdate\WSUSSCAN.cab", 0) IUpdateSearcher updateSearcher = updateSession.CreateUpdateSearcher() updateSearcher.ServerSelection = ServerSelection.ssOthers updateSearcher.ServiceID = updateService.ServiceID ISearchResult searchResult = updateSearcher.Search("Type='Software'") if (searchResult.Updates.Count > 0) { expandProcess.StartInfo.Arguments = @"C:\Windows6.0-KB123456-x86.msu -f:Windows*.cab C:\ExpandedUpdate\" expandProcess.Start() expandProcess.WaitForExit() StringCollectionClass filesToCopy = new StringCollectionClass() foreach (string fileName in Directory.GetFiles(@"C:\ExpandedUpdate\", "Windows6.0-*.cab")) filesToCopy.Add(fileName) UpdateCollectionClass updateCollection = new UpdateCollectionClass() updateCollection.Add(searchResult.Updates[0]) IUpdate2 iUpdate2 = (IUpdate2)searchResult.Updates[0] // BUGGY LINE iUpdate2.CopyToCache(filesToCopy) // COMException (HRESULT: 0x80240026) // 0x80240026 - WU_E_INVALID_UPDATE_TYPE // ... updateInstaller etc. } } } } ---------------------------------------------------- Help me, please... Best regards, Alexander Kozlenko P.S. Sorry for my bad english.
Recommended Posts