private void PackageUpdate(IPackage package, bool putInMachineCache) { //var latestPackages = packages.Where(p => p.IsLatestVersion); DebugStep("Find Package Update"); var newPackage = FindPackageUpdate(package); if (newPackage != null && newPackage.Version > package.Version) { DebugStep("Package Update Found {0} {1}", newPackage.Id, newPackage.Version); if (putInMachineCache) { IsDownloading = true; IsNewPackageAvailable = true; ShowInformationDialog("A new version " + newPackage.Version + " of " + mainPackage + @" is available. The download will start in the background. The new version will be available on next run after all GameStudio are closed"); MachineCache.Default.AddPackage(newPackage); // Notfy that the download is finished IsDownloading = false; } else { store.UpdatePackage(newPackage); } } }