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);
    }