Exemplo n.º 1
0
        private static LinuxServiceSettings CreateServiceSettings(HostSettings settings, string commandLine)
        {
            var currentAssembly = Assembly.GetEntryAssembly();

            if (currentAssembly == null)
            {
                throw new InstallException(Resources.ServiceMustBeExecutableFile);
            }

            var serviceName = settings.Name;

            if (!string.IsNullOrEmpty(settings.InstanceName))
            {
                serviceName += "@" + settings.InstanceName;
            }

            var result = new LinuxServiceSettings
            {
                ServiceName = serviceName,
                DisplayName = settings.DisplayName,
                Description = settings.Description,
                ServiceExe  = currentAssembly.Location,
                ServiceArgs = commandLine
            };

            var installSettings = settings as InstallHostSettings;

            if (installSettings != null)
            {
                result.Username     = installSettings.Credentials?.Username;
                result.Dependencies = installSettings.Dependencies;
            }

            return(result);
        }
Exemplo n.º 2
0
 private void Init()
 {
     if (Service == null)
     {
         return;
     }
     _settings = Core.GetSettings <LinuxServiceSettings>();
     RegisterParametersHandler("service-create", "Create Systemd service file", CreateService);
     RegisterParametersHandler("service-remove", "Remove Systemd service file", RemoveService);
 }