コード例 #1
0
ファイル: WuAgent.cs プロジェクト: OldMaCKY/wumgr
        public RetCodes SearchForUpdates(bool Download, bool IncludePotentiallySupersededUpdates = false)
        {
            if (mCallback != null)
            {
                return(RetCodes.Busy);
            }

            mUpdateSearcher.IncludePotentiallySupersededUpdates = IncludePotentiallySupersededUpdates;

            if (Download)
            {
                mCurOperation = AgentOperation.PreparingCheck;
                OnProgress(-1, 0, 0, 0);

                AppLog.Line("downloading wsusscn2.cab");

                List <UpdateDownloader.Task> downloads = new List <UpdateDownloader.Task>();
                UpdateDownloader.Task        download  = new UpdateDownloader.Task();
                download.Url      = Program.IniReadValue("Options", "OfflineCab", "http://go.microsoft.com/fwlink/p/?LinkID=74689");
                download.Path     = dlPath;
                download.FileName = "wsusscn2.cab";
                downloads.Add(download);
                if (!mUpdateDownloader.Download(downloads))
                {
                    OnFinished(RetCodes.DownloadFailed);
                    return(RetCodes.DownloadFailed);
                }
                return(RetCodes.InProgress);
            }

            RetCodes ret = SetupOffline();

            if (ret < 0)
            {
                return(ret);
            }

            return(SearchForUpdates());
        }
コード例 #2
0
ファイル: WuAgent.cs プロジェクト: OldMaCKY/wumgr
        public RetCodes DownloadUpdatesManually(List <MsUpdate> Updates, bool Install = false)
        {
            if (mUpdateDownloader.IsBusy())
            {
                return(RetCodes.Busy);
            }

            mCurOperation = Install ? AgentOperation.PreparingUpdates : AgentOperation.DownloadingUpdates;
            OnProgress(-1, 0, 0, 0);

            List <UpdateDownloader.Task> downloads = new List <UpdateDownloader.Task>();

            foreach (MsUpdate Update in Updates)
            {
                if (Update.Downloads.Count == 0)
                {
                    AppLog.Line("Error: No Download Url's found for update {0}", Update.Title);
                    continue;
                }

                foreach (string url in Update.Downloads)
                {
                    UpdateDownloader.Task download = new UpdateDownloader.Task();
                    download.Url  = url;
                    download.Path = dlPath + @"\" + Update.KB;
                    download.KB   = Update.KB;
                    downloads.Add(download);
                }
            }

            if (!mUpdateDownloader.Download(downloads, Updates))
            {
                OnFinished(RetCodes.DownloadFailed);
                return(RetCodes.DownloadFailed);
            }

            return(RetCodes.InProgress);
        }