Если под всеми разрешениями вы подразумеваете 777
Перейдите в папку и
chmod -R 777 .
В классе установщика добавьте обработчик для события AfterInstall. Затем вы можете вызвать ServiceController в обработчике событий, чтобы запустить службу.
using System.ServiceProcess;
public ServiceInstaller()
{
//... Installer code here
this.AfterInstall += new InstallEventHandler(ServiceInstaller_AfterInstall);
}
void ServiceInstaller_AfterInstall(object sender, InstallEventArgs e)
{
ServiceInstaller serviceInstaller = (ServiceInstaller) sender;
using (ServiceController sc = new ServiceController(serviceInstaller.ServiceName))
{
sc.Start();
}
}
Теперь, когда вы запустите InstallUtil в своем установщике, он установит, а затем запустит службу.
Как насчет следующих команд?
net start "<service name>"
net stop "<service name>"
Для запуска службы можно использовать следующую командную строку:
net start *servicename*
Программные опции для управления службами:
StartService
. Это хорошо для случаев, когда вам нужно иметь возможность выполнять другую обработку (например, выбрать, какую службу). Start-Service
через RunspaceInvoke
или создать свой own Runspace
и его метод CreatePipeline
для выполнения. Это хорошо для случаев, когда вам нужно иметь возможность выполнять другую обработку (например, чтобы выбрать, какую службу) с гораздо более простой моделью кодирования, чем WMI, но зависит от установленного PSH. ServiceController
Используйте ServiceController , чтобы запустить службу из кода.
Обновление: И более правильный способ запустить службу из командной строки - использовать команду «sc» ( Service Controller ) вместо «net».
Автоматический запуск означает, что служба автоматически запускается при запуске Windows. Как уже упоминалось, чтобы запустить его из консоли, вы должны использовать ServiceController.
Вы можете использовать метод GetServices
из ServiceController
класс, чтобы получить массив всех сервисов. Затем найдите свою службу, проверив свойство ServiceName
каждой службы. Когда вы найдете свою службу, вызовите метод Start
, чтобы запустить ее.
Вы также должны проверить свойство Status
, чтобы узнать, в каком состоянии она уже находится, перед вызовом start ( он может быть запущен, приостановлен, остановлен и т. д.).