I want to create an application, which should be used to update a computer without internet connection. To solve the problem the software first downloads the current wsusscn2.cab from Microsoft. Then the application should download all possible update files from Microsoft. Both (wsusscn2.cab & updates) must be present on the remote computer (e.g. USB stick) and the program checks which updates needs to be installed on the system. My problem is the second step, where the application should download all the update files.
I've already tried to read out the wsusscn2.cab file, but I can't really find any download URIs for any update. I also tried to use the IUpdateSearcher class to search for updates within the file, but it only finds the updates based on my system (I want every possible update).
UpdateSession session = new UpdateSession();
UpdateServiceManager manager = new UpdateServiceManager();
IUpdateService service = manager.AddScanPackageService("Offline Sync Service", SourceFilePath, 1);
IUpdateSearcher searcher = session.CreateUpdateSearcher();
searcher.ServiceID = service.ServiceID;
ISearchResult result = searcher.Search("IsInstalled=0 OR IsInstalled=1");
// continue with downloading
As I said, the actual output of the Search function is based on my system. I want to be able to get all updates.
Unfortunately, this can't be done, for several reasons.