private bool CheckAndInstallNewVersion(IInstalledExtension myExtension) { var needsRestart = false; var entry = new CodeConnectRepositoryEntry(); var newVersion = FetchIfUpdated(myExtension, entry); if (newVersion != null) { Install(myExtension, newVersion); needsRestart = true; } return(needsRestart); }
//Checks the version of the extension on the VS Gallery and downloads it if necessary. private IInstallableExtension FetchIfUpdated(IInstalledExtension extension, CodeConnectRepositoryEntry entry) { var version = extension.Header.Version; var strNewVersion = _extensionRepository.GetCurrentExtensionVersions("ExtensionManagerQuery", new List <string>() { "6767f237-b6e4-4d95-9982-c9e898f72502" }, 1033).Single(); var newVersion = Version.Parse(strNewVersion); if (newVersion > version) { var newestVersion = _extensionRepository.Download(entry); return(newestVersion); } return(null); }