Загрузка обновлений с сервера обновлений Microsoft - PullRequest
0 голосов
/ 11 июля 2020

Я пытаюсь собрать небольшую программу для загрузки windows обновлений и выборочной их установки. Программа умеет искать обновления. Однако, когда я пытаюсь загрузить обновление, я вижу код ошибки: orcfailed.

 {
        _mPendingUpdates = new List<WindowsUpdate>();
        _mHiddenUpdates = new List<WindowsUpdate>();
        _mInstalledUpdates = new List<WindowsUpdate>();


        UpdateSession updateSession = new UpdateSession();
        UpdateCollection updateCollection = new UpdateCollection();
        IUpdateSearcher updateSearchResult = updateSession.CreateUpdateSearcher();
        updateSearchResult.Online = true; //checks for updates online
        string query =
            "(IsInstalled = 0 and IsHidden = 0 and DeploymentAction=*) or (IsInstalled = 1 and 
        IsHidden = 0 and DeploymentAction=*) or (IsHidden = 1 and DeploymentAction=*)";
        ISearchResult searchResults = updateSearchResult.Search(query);

        foreach (IUpdate update in searchResults.Updates)
        {
            if (update.IsHidden)
            {
                _mHiddenUpdates.Add(new WindowsUpdate(update, WindowsUpdate.UpdateState.Hidden));
            }
            else if (update.IsInstalled)
            {
                _mInstalledUpdates.Add(new WindowsUpdate(update, 
            WindowsUpdate.UpdateState.Installed));
            }
            else
            {
                _mPendingUpdates.Add(new WindowsUpdate(update, WindowsUpdate.UpdateState.Pending));
                updateCollection.Add(update);
                break;
            }

           
        }

        
         UpdateSession downloadSession = new UpdateSession();
        
        UpdateDownloader updateDownloader = downloadSession.CreateUpdateDownloader();
        updateDownloader.Updates = updateCollection;
        updateDownloader.IsForced = true;
        Console.WriteLine("Downloading Updates... This may take several minutes.");
        IDownloadResult downloadResult = updateDownloader.Download();

        Console.WriteLine(downloadResult.ResultCode.ToString());
        //Check the remarks section


        Console.ReadLine();
}

Пожалуйста, помогите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...