private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                UpdateProgress(1);
                int total = 10;
                int index = 0;

                AsposeComponentsManager comManager = new AsposeComponentsManager(this);
                foreach (AsposeComponent component in AsposeComponents.list.Values)
                {
                    if (component.is_selected())
                    {
                        GlobalData.SelectedComponent = component.get_name();

                        ProductRelease productRelease = getProductReleaseInfo(component.get_name());
                        component.set_downloadUrl(productRelease.DownloadLink);
                        component.set_downloadFileName(productRelease.FileName);
                        component.set_changeLog(productRelease.ChangeLog);
                        component.set_latestVersion(productRelease.VersionNumber);
                        if (AsposeComponentsManager.libraryAlreadyExists(component.get_downloadFileName()))
                        {
                            component.set_currentVersion(AsposeComponentsManager.readVersion(component));
                            if (AsposeComponentsManager.readVersion(component).CompareTo(component.get_latestVersion()) == 0)
                            {
                                component.set_downloaded(true);
                            }
                            else
                            {
                                AsposeComponentsManager.addToDownloadList(component, component.get_downloadUrl(), component.get_downloadFileName());
                            }
                        }
                        else
                        {
                            AsposeComponentsManager.addToDownloadList(component, component.get_downloadUrl(), component.get_downloadFileName());
                        }
                    }

                    decimal percentage = ((decimal)(index + 1) / (decimal)total) * 100;
                    UpdateProgress(Convert.ToInt32(percentage));
                    
                    index++;
                }

                UpdateProgress(100);
                UpdateText("All operations completed");
            }
            catch (Exception) { }
        }
 /**
  *
  * @param component
  * @return
  */
 public static string getLocalRepositoryPath(AsposeComponent component)
 {
     return(AsposeComponentsManager.getAsposeHomePath() + "gitrepos" + "/" + component.get_name());
 }