Ejemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="StopAndUninstallHostBuilder"/> class.
        /// </summary>
        /// <param name="environment">The environment.</param>
        /// <param name="settings">The settings.</param>
        /// <param name="version">The version.</param>
        public StopAndUninstallHostBuilder(HostEnvironment environment, HostSettings settings, string version = null)
        {
            Environment = environment;

            var serviceName = settings.Name;

            if (version != null)
            {
                serviceName = $"{serviceName.Split('-')[0]}-{version}";
            }

            var serviceInfo = GetWmiServiceInfo(serviceName);

            if (serviceInfo != null)
            {
                serviceName = Convert.ToString(serviceInfo["Name"].Value);
                _processId  = Convert.ToInt32(serviceInfo["ProcessId"].Value);
            }

            Settings = new WindowsHostSettings
            {
                Name = serviceName,

                // squirrel hook wait only 15 seconds
                // so we can't wait for service stop more that 5 seconds
                StopTimeOut = TimeSpan.FromSeconds(5),
            };

            _stopBuilder      = new StopBuilder(Environment, Settings);
            _uninstallBuilder = new UninstallBuilder(Environment, Settings);
            _uninstallBuilder.Sudo();
        }
        /// <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);
        }
Ejemplo n.º 3
0
 public void SetUp()
 {
     _builder = new StopBuilder();
     _builder.ReadEntityMappings("stop_id,stop_code,stop_name,stop_lat,stop_lon");
 }