/// <summary> /// Initializes a new instance of the <see cref="UpdateHostBuilder"/> class. /// </summary> /// <param name="environment">The environment.</param> /// <param name="settings">The settings.</param> /// <param name="version">The version.</param> /// <param name="withOverlapping">if set to <c>true</c> [with overlapping].</param> public UpdateHostBuilder(HostEnvironment environment, HostSettings settings, string version, bool withOverlapping = false) { Environment = environment; Settings = settings; WithOverlapping = withOverlapping; var currentService = GetLastWmiServiceInfo(settings.Name, $"{settings.Name}-{version}"); var OldSettings = new WindowsHostSettings { Name = Convert.ToString(currentService["Name"].Value), }; _stopOldHostBuilder = new StopBuilder(Environment, OldSettings); _startOldHostBuilder = new StartBuilder(_stopOldHostBuilder); _uninstallOldHostBuilder = new UninstallBuilder(Environment, OldSettings); _installAndStartNewHostBuilder = new InstallAndStartHostBuilder(Environment, Settings, version); _stopAndUninstallNewHostBuilder = new StopAndUninstallHostBuilder(Environment, Settings, version); }
public InstallAndStartHostBuilder(HostEnvironment environment, HostSettings settings, string version) { Environment = environment; Settings = new WindowsHostSettings { Name = $"{settings.Name}-{version}", DisplayName = $"{settings.DisplayName} ({version})", Description = settings.Description, InstanceName = settings.InstanceName, CanPauseAndContinue = settings.CanPauseAndContinue, CanSessionChanged = settings.CanSessionChanged, CanShutdown = settings.CanShutdown, }; _installBuilder = new InstallBuilder(Environment, Settings); _installBuilder.Sudo(); _startBuilder = new StartBuilder(_installBuilder); }