public ExecutionResult Update(InstallDto installOptions) { var logger = new StringLogger(); try { var files = Directory.GetFiles(installOptions.Directory, "*.nupkg"); if (files.Count() == 0) { logger.Log("No package to uninstall found, proceeding with a normal install."); } if (files.Count() >= 1) { var filename = PackageHelpers.ExtractPackageName(files.First()).Trim(); var packageInfo = new PackageInfo() { Name = filename.Substring(filename.LastIndexOf("\\") + 1), Version = PackageHelpers.ExtractPackageVersion(files.First()).Trim(), InstallationDirectory = installOptions.Directory, Configuration = installOptions.Configuration }; var packageRemover = new PackageRemover(); packageRemover.Logger = logger; var additionalParams = installOptions.AdditionalParameters; packageRemover.Remove(packageInfo, new string[] { installOptions.Directory }, additionalParams, installOptions.UninstallScript); } var packageInfo2 = new PackageInfo() { Configuration = installOptions.Configuration, InstallationDirectory = installOptions.Directory, Name = installOptions.Application, Version = installOptions.Version }; var PackageInstaller = new PackageInstaller(); PackageInstaller.Logger = logger; PackageInstaller.Install(packageInfo2, new string[] { installOptions.Repository }, installOptions.AdditionalParameters, installOptions.InstallScript, installOptions.ConfigurationFile, installOptions.ConfigurationTransform); return(new ExecutionResult() { Success = logger.Logs.All(x => !x.Error), Log = logger.Logs }); } catch (Exception e) { logger.Log(e.InnerException != null ? e.InnerException.Message : e.Message, true); return(new ExecutionResult() { Success = false, Exception = e.InnerException != null ? e.InnerException.Message : e.Message, Log = logger.Logs }); } }
public ExecutionResult Install(InstallDto installOptions) { var logger = new StringLogger(); try { var packageInfo = new PackageInfo(); packageInfo.Configuration = installOptions.Configuration; packageInfo.InstallationDirectory = installOptions.Directory; packageInfo.Name = installOptions.Application; packageInfo.Version = installOptions.Version; var PackageInstaller = new PackageInstaller(); PackageInstaller.Logger = logger; PackageInstaller.Install(packageInfo, new string[] { installOptions.Repository }, installOptions.AdditionalParameters, installOptions.InstallScript, installOptions.ConfigurationFile, installOptions.ConfigurationTransform); return(new ExecutionResult() { Success = logger.Logs.All(x => !x.Error), Log = logger.Logs }); } catch (Exception e) { logger.Log(e.InnerException != null ? e.InnerException.Message : e.Message, true); return(new ExecutionResult() { Success = false, Exception = e.InnerException != null ? e.InnerException.Message : e.Message, Log = logger.Logs }); } }
private void ThreadProc() { try { using (var installer = new PackageInstaller(SetupConfiguration, new Progress(this))) { installer.Install(); } BeginInvoke(new Action(() => MainForm.SetStep(1))); } catch (Exception ex) { BeginInvoke(new Action(() => { MessageBox.Show( this, String.Format( Labels.UnexpectedSituation, ex.Message ), Program.Configuration.Title, MessageBoxButtons.OK, MessageBoxIcon.Error ); MainForm.Dispose(); })); } }
/// ----------------------------------------------------------------------------- /// <summary> /// The InstallPackages method installs the packages /// </summary> /// ----------------------------------------------------------------------------- private void InstallPackages(ref bool clearClientCache) { //Iterate through all the Packages for (int index = 0; index <= Packages.Count - 1; index++) { PackageInstaller installer = Packages.Values[index]; //Check if package is valid if (installer.Package.IsValid) { if (installer.Package.InstallerInfo.Installed || installer.Package.InstallerInfo.RepairInstall) { clearClientCache = true; } InstallerInfo.Log.AddInfo(Util.INSTALL_Start + " - " + installer.Package.Name); installer.Install(); if (InstallerInfo.Log.Valid) { InstallerInfo.Log.AddInfo(Util.INSTALL_Success + " - " + installer.Package.Name); } else { InstallerInfo.Log.AddInfo(Util.INSTALL_Failed + " - " + installer.Package.Name); } } else { InstallerInfo.Log.AddFailure(Util.INSTALL_Aborted + " - " + installer.Package.Name); } } }
public string Execute([NotNull] string data, [NotNull] string fileName) { var packagePath = Upload(data, fileName); var installer = new PackageInstaller(packagePath); installer.Install(); return(string.Empty); }
public void Execute(string[] args) { if (args.Length < 1) { LogTracer.LogError("[ERROR] The command, \"plpm install\" requires 1 arg."); } else { var pkgname = args[0]; var installer = new PackageInstaller(); // // Install it. // var current_dir = Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar; installer.Install(pkgname, current_dir); } }
public string Execute([NotNull] string file, [NotNull] string uploadedFile) { Assert.ArgumentNotNull(uploadedFile, nameof(uploadedFile)); Assert.ArgumentNotNull(file, nameof(file)); string fileName; if (!string.IsNullOrEmpty(uploadedFile)) { fileName = Upload(file); } else { fileName = LocalFile.MapPath(file); } var installer = new PackageInstaller(fileName); installer.Install(); return(string.Empty); }
private void InstallPackages() { for (int index = 0; index <= Packages.Count - 1; index++) { PackageInstaller installer = Packages.Values[index]; if (installer.Package.IsValid) { InstallerInfo.Log.AddInfo(Util.INSTALL_Start + " - " + installer.Package.Name); installer.Install(); if (InstallerInfo.Log.Valid) { InstallerInfo.Log.AddInfo(Util.INSTALL_Success + " - " + installer.Package.Name); } else { InstallerInfo.Log.AddInfo(Util.INSTALL_Failed + " - " + installer.Package.Name); } } else { InstallerInfo.Log.AddFailure(Util.INSTALL_Aborted + " - " + installer.Package.Name); } } }
/// <summary> /// Executes the bazooka cli program based on the parameters passed /// </summary> /// <param name="args">Arguments to Bazooka</param> static void Main(string[] args) { string invokedVerb = ""; object invokedVerbInstance = null; var options = new Options(); var result = CommandLine.Parser.Default.ParseArgumentsStrict(args, options, (verb, subOptions) => { // if parsing succeeds the verb name and correct instance // will be passed to onVerbCommand delegate (string,object) invokedVerb = verb; invokedVerbInstance = subOptions; }); switch (invokedVerb) { case "install": { var packageInfo = new PackageInfo(); packageInfo.Configuration = ((InstallOptions)invokedVerbInstance).Configuration; packageInfo.InstallationDirectory = ((InstallOptions)invokedVerbInstance).Directory; packageInfo.Name = ((InstallOptions)invokedVerbInstance).Application; packageInfo.Version = ((InstallOptions)invokedVerbInstance).Version; var PackageInstaller = new PackageInstaller(); PackageInstaller.Logger = new ConsoleLogger(); var additionalParams = ((InstallOptions)invokedVerbInstance).AdditionalParameters; var paramDictionary = new Dictionary <string, string>(); if (additionalParams.Length > 0) { paramDictionary = additionalParams.ToDictionary(x => x.Substring(0, x.IndexOf("=") - 1), x => x.Substring(x.IndexOf("=") + 1)); } PackageInstaller.Install(packageInfo, new string[] { ((InstallOptions)invokedVerbInstance).Repository }, paramDictionary); } break; case "blast": { //serach directory for packages var files = Directory.GetFiles(((BlastOptions)invokedVerbInstance).Directory, "*.nupkg"); if (files.Count() == 0) { Console.WriteLine("No package found"); break; } if (files.Count() > 1) { Console.WriteLine("More than one package present"); break; } var packageInfo = new PackageInfo(); var filename = PackageHelpers.ExtractPackageName(files.First()).Trim(); packageInfo.Name = filename.Substring(filename.LastIndexOf("\\") + 1); packageInfo.Version = PackageHelpers.ExtractPackageVersion(files.First()); packageInfo.InstallationDirectory = ((BlastOptions)invokedVerbInstance).Directory; packageInfo.Configuration = ""; var packageRemover = new PackageRemover(); packageRemover.Logger = new ConsoleLogger(); var additionalParams = ((BlastOptions)invokedVerbInstance).AdditionalParameters; var paramDictionary = new Dictionary <string, string>(); if (additionalParams.Length > 0) { paramDictionary = additionalParams.ToDictionary(x => x.Substring(0, x.IndexOf("=") - 1), x => x.Substring(x.IndexOf("=") + 1)); } packageRemover.Remove(packageInfo, new string[] { ((BlastOptions)invokedVerbInstance).Directory }, paramDictionary, null); // if multiples found erro //uninstall the remaining one } break; case "update": { //serach directory for packages var files = Directory.GetFiles(((UpdateOptions)invokedVerbInstance).Directory, "*.nupkg"); if (files.Count() == 0) { Console.WriteLine("No package found"); break; } if (files.Count() > 1) { Console.WriteLine("More than one package present"); break; } var packageInfo = new PackageInfo(); var filename = PackageHelpers.ExtractPackageName(files.First()).Trim(); packageInfo.Name = filename.Substring(filename.LastIndexOf("\\") + 1); packageInfo.Version = PackageHelpers.ExtractPackageVersion(files.First()).Trim(); packageInfo.InstallationDirectory = ((UpdateOptions)invokedVerbInstance).Directory; packageInfo.Configuration = ((UpdateOptions)invokedVerbInstance).Configuration; var packageRemover = new PackageRemover(); packageRemover.Logger = new ConsoleLogger(); var additionalParams = ((UpdateOptions)invokedVerbInstance).AdditionalParameters; var paramDictionary = new Dictionary <string, string>(); if (additionalParams.Length > 0) { paramDictionary = additionalParams.ToDictionary(x => x.Substring(0, x.IndexOf("=") - 1), x => x.Substring(x.IndexOf("=") + 1)); } packageRemover.Remove(packageInfo, new string[] { ((UpdateOptions)invokedVerbInstance).Directory }, paramDictionary, null); var packageInfo2 = new PackageInfo(); packageInfo2.Configuration = ((UpdateOptions)invokedVerbInstance).Configuration; packageInfo2.InstallationDirectory = ((UpdateOptions)invokedVerbInstance).Directory; packageInfo2.Name = ((UpdateOptions)invokedVerbInstance).Application; packageInfo2.Version = ((UpdateOptions)invokedVerbInstance).Version; var PackageInstaller = new PackageInstaller(); PackageInstaller.Logger = new ConsoleLogger(); var additionalParams2 = ((UpdateOptions)invokedVerbInstance).AdditionalParameters; var paramDictionary2 = new Dictionary <string, string>(); if (additionalParams2.Length > 0) { paramDictionary2 = additionalParams2.ToDictionary(x => x.Substring(0, x.IndexOf("=") - 1), x => x.Substring(x.IndexOf("=") + 1)); } PackageInstaller.Install(packageInfo2, new string[] { ((UpdateOptions)invokedVerbInstance).Repository }, paramDictionary2); } break; case "uninstall": { var packageInfo = new PackageInfo(); packageInfo.Name = ((UninstallOptions)invokedVerbInstance).Application; packageInfo.Version = ((UninstallOptions)invokedVerbInstance).Version; packageInfo.InstallationDirectory = ((UninstallOptions)invokedVerbInstance).Directory; packageInfo.Configuration = ((UninstallOptions)invokedVerbInstance).Configuration; var packageRemover = new PackageRemover(); packageRemover.Logger = new ConsoleLogger(); var additionalParams = ((UninstallOptions)invokedVerbInstance).AdditionalParameters; var paramDictionary = new Dictionary <string, string>(); if (additionalParams.Length > 0) { paramDictionary = additionalParams.ToDictionary(x => x.Substring(0, x.IndexOf("=") - 1), x => x.Substring(x.IndexOf("=") + 1)); } packageRemover.Remove(packageInfo, new string[] { ((UninstallOptions)invokedVerbInstance).Directory }, paramDictionary, null); } break; } }