コード例 #1
0
        //Check to see if there is an update.
        private void DownloadUpdateDoWork(object sender, DoWorkEventArgs e)
        {
            DownloadUpdateResult result = new DownloadUpdateResult();
            String fileList             = DownloadString((String)e.Argument);

            if (fileList == null)
            {
                result.Message = "Failed to download update file list."; e.Result = result; return;
            }
            String[] fileListLines = StringToLines(fileList);

            DownloadFileInfo[] filesList       = StringToDownloadFilesArray(fileListLines);
            DownloadFileInfo[] filesToDownload = CheckFilesToDownload(filesList);

            if (filesToDownload == null)
            {
                result.Message = "No files need downloaded."; e.Result = result; return;
            }

            DownloadFiles(filesToDownload);

            if (!HashCheckDownloadFiles(filesToDownload))
            {
                result.Message = "Download hash check failed."; e.Result = result; return;
            }

            InstallDownloadedFiles(filesList, filesToDownload);

            foreach (DownloadFileInfo fileInfo in filesList)
            {
                if (fileInfo.Action == "Run")
                {
                    if (result.RunFiles == null)
                    {
                        result.RunFiles = new String[1];
                    }
                    else
                    {
                        Array.Resize(ref result.RunFiles, result.RunFiles.GetUpperBound(0) + 2);
                    }
                    result.RunFiles[result.RunFiles.GetUpperBound(0)] = fileInfo.Path + fileInfo.Name;
                }
            }

            result.Success = true;
            result.Message = "Download finished!";

            e.Result = result;
        }
コード例 #2
0
ファイル: Updater.cs プロジェクト: RiskyKen/tray-usage
        //Check to see if there is an update.
        private void DownloadUpdateDoWork(object sender, DoWorkEventArgs e)
        {
            DownloadUpdateResult result = new DownloadUpdateResult();
            String fileList = DownloadString((String)e.Argument);
            if (fileList == null)
            { result.Message = "Failed to download update file list."; e.Result = result; return; }
            String[] fileListLines = StringToLines(fileList);

            DownloadFileInfo[] filesList = StringToDownloadFilesArray(fileListLines);
            DownloadFileInfo[] filesToDownload = CheckFilesToDownload(filesList);

            if (filesToDownload == null)
            { result.Message = "No files need downloaded."; e.Result = result; return; }

            DownloadFiles(filesToDownload);

            if (!HashCheckDownloadFiles(filesToDownload))
            { result.Message = "Download hash check failed."; e.Result = result; return; }

            InstallDownloadedFiles(filesList, filesToDownload);

            foreach (DownloadFileInfo fileInfo in filesList)
            {
                if (fileInfo.Action == "Run")
                {
                    if (result.RunFiles == null)
                    {
                        result.RunFiles = new String[1];
                    }
                    else
                    {
                        Array.Resize(ref result.RunFiles, result.RunFiles.GetUpperBound(0) + 2);
                    }
                    result.RunFiles[result.RunFiles.GetUpperBound(0)] = fileInfo.Path + fileInfo.Name;
                }
            }

            result.Success = true;
            result.Message = "Download finished!";

            e.Result = result;
        }