public static InstallationDefinition GetInstallationDefinition(string visualStudioVersion, bool isVisualStudioInstalled, bool isChocolateyPackageInstalled, string packageName) { string iconToUse; switch (visualStudioVersion) { case VisualStudioVersions.VS2013: iconToUse = "/Images/SM2013.png"; break; case VisualStudioVersions.VS2012: iconToUse = "/Images/SM2012.png"; break; default: throw new Exception(string.Format("Specified VisualStudio version: {0} is not supported", visualStudioVersion)); } var installationDefinition = new InstallationDefinition { SortOrder = 20, Name = "ServiceMatrix", Image = iconToUse, Disabled = true, PackageDefinitions = new List <PackageDefinition>(), SelectedByDefault = false }; if (!isVisualStudioInstalled) { installationDefinition.Status = string.Format("{0} Required", visualStudioVersion); installationDefinition.ToolTip = string.Format("This option requires {0}", visualStudioVersion); return(installationDefinition); } if (!isChocolateyPackageInstalled) { installationDefinition.PackageDefinitions.Add(new PackageDefinition { Name = packageName, DisplayName = "ServiceMatrix for " + visualStudioVersion }); installationDefinition.Status = "Install"; installationDefinition.SelectedByDefault = true; installationDefinition.Disabled = false; installationDefinition.ToolTip = string.Format("Install ServiceMatrix for {0}", visualStudioVersion); } else { installationDefinition.Status = "Already Installed"; installationDefinition.ToolTip = string.Format("ServiceMatrix for {0} is already installed", visualStudioVersion); } return(installationDefinition); }
public static InstallationDefinition InstallationDefinition(PackageManager packageManager) { var versionsToInstall = VisualStudioDetecter.InstalledVersions.Where(version => supportedVersions.Contains(version)); var installationDefinition = new InstallationDefinition { SortOrder = 20, Name = "ServiceMatrix", Image = "/Images/SM.png", Disabled = true, ToolTip = "ServiceMatrix requires Visual Studio 2012 to be installed,", PackageDefinitions = new List<PackageDefinition>(), SelectedByDefault = false }; foreach (var version in versionsToInstall) { var packageName = "ServiceMatrix." + version + ".install"; if (packageManager.IsInstalled(packageName)) { continue; } installationDefinition.PackageDefinitions.Add(new PackageDefinition { Name =packageName, DisplayName = "ServiceMatrix for " + version }); } if (installationDefinition.PackageDefinitions.Any()) { installationDefinition.Status = "Install"; installationDefinition.SelectedByDefault = true; installationDefinition.Disabled = false; installationDefinition.ToolTip = "Install ServiceMatrix"; } else { if (versionsToInstall.Any()) { installationDefinition.Status = "Already installed"; installationDefinition.ToolTip = "ServiceMatrix for Visual Studio 2012"; } else { installationDefinition.Status = "VS 2012 required"; installationDefinition.ToolTip = "ServiceMatrix requires Visual Studio 2012"; } } return installationDefinition; }
public static InstallationDefinition GetInstallationDefinition(string visualStudioVersion, bool isVisualStudioInstalled, bool isChocolateyPackageInstalled, string packageName) { string iconToUse; switch (visualStudioVersion) { case VisualStudioVersions.VS2013: iconToUse = "/Images/SM2013.png"; break; case VisualStudioVersions.VS2012: iconToUse = "/Images/SM2012.png"; break; default: throw new Exception(string.Format("Specified VisualStudio version: {0} is not supported", visualStudioVersion)); } var installationDefinition = new InstallationDefinition { SortOrder = 20, Name = "ServiceMatrix", Image = iconToUse, Disabled = true, PackageDefinitions = new List<PackageDefinition>(), SelectedByDefault = false }; if (!isVisualStudioInstalled) { installationDefinition.Status = string.Format("{0} Required", visualStudioVersion); installationDefinition.ToolTip = string.Format("This option requires {0}", visualStudioVersion); return installationDefinition; } if (!isChocolateyPackageInstalled) { installationDefinition.PackageDefinitions.Add(new PackageDefinition { Name = packageName, DisplayName = "ServiceMatrix for " + visualStudioVersion }); installationDefinition.Status = "Install"; installationDefinition.SelectedByDefault = true; installationDefinition.Disabled = false; installationDefinition.ToolTip = string.Format("Install ServiceMatrix for {0}", visualStudioVersion); } else { installationDefinition.Status = "Already Installed"; installationDefinition.ToolTip = string.Format("ServiceMatrix for {0} is already installed", visualStudioVersion); } return installationDefinition; }