2014-01-05 5 views
0

Я смотрел несколько статей о том, как создать службу Windows C#; все хорошо, но никто не говорит, как сделать запуск сервиса, в конце установки, конкретным файлом из папки установки (в моем случае hidden.vbs) (у моего приложения есть 2 проекта: сама служба и настройка). После установки на установку, обслуживание начинается PROJECT_NAME.exe и PROJECT_NAME.svhost.exeСделать Windows Service запустимым конкретным файлом

Скажите, пожалуйста, если вам нужен любой другой код для того, чтобы помочь мне ... Вот мой Program.cs

using System.ComponentModel; 
using System.Configuration.Install; 
using System.Linq; 
using System.ServiceProcess; 


namespace PROJECT_NAME 
{ 
    [RunInstaller(true)] 
    public partial class ProjectInstaller : System.Configuration.Install.Installer 
    { 
     public ProjectInstaller() 
     { 
      InitializeComponent(); 
     } 

     private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e) 
     { 
      new ServiceController(serviceInstaller1.ServiceName).Start(); 
     } 
    } 
} 

Service1.cs

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Diagnostics; 
using System.Linq; 
using System.ServiceProcess; 
using System.Text; 

namespace PROJECT_NAME 
{ 
    public partial class Service1 : ServiceBase 
    { 
     public Service1() 
     { 
      InitializeComponent(); 
     } 

     public void OnDebug() 
     { 
      OnStart(null); 
     } 

     protected override void OnStart(string[] args) 
     { 
      System.IO.File.Create(AppDomain.CurrentDomain.BaseDirectory + "OnStart.txt"); 
     } 

     protected override void OnStop() 
     { 
      System.IO.File.Create(AppDomain.CurrentDomain.BaseDirectory + "OnStart.txt"); 
     } 
    } 
} 

Кроме того, здесь ПИК моего проводника Solution http://i.imgur.com/wbqUGOc.png; сообщите мне, как и где следует импортировать файлы, которые мне нужны для запуска службы.

Это мой первый раз в C#, я не хочу, чтобы понять это сейчас, но, чтобы сделать эту услугу, потому что я нужен в моей работе ..

ответ

0

Ваш скрипт может сделать один из нескольких вещей, чтобы начать служба:

  • Выполните команду net start консоли для запуска службы (например net start "My Service Name")

ИЛИ

  • Programmaticaly, позвоните по адресу StartService API.
+0

Я думаю, что я не достаточно ясно ... Служба запускается автоматически из-за события (AfterInstall), которое я вызвал. Проблема заключается в том, что приложение запускается с PROJECT_NAME.exe и PROJECT_NAME.svhost.exe. Если он не может быть изменен (я не думаю, что так), по крайней мере, скажите мне, где редактировать файл PROJECT_NAME.exe, чтобы он, по крайней мере, включил hidden.vbs, который я хочу запустить. – user2908353

Смежные вопросы