使Windows服务运行特定文件

时间:2014-01-05 09:24:10

标签: c# windows service windows-services installation

我一直在关注如何创建C#Windows服务;一切都很好,但没有人说如何在安装结束时运行te服务,安装文件夹中的特定文件(在我的情况下为hidden.vbs)(我的应用程序有2个项目:服务本身和设置)。 安装完成后,该服务将启动PROJECT_NAME.exe和PROJECT_NAME.svhost.exe

如果您需要任何其他代码以帮助我,请告诉我... 这是我的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");
        }
    }
}

此外,这是我的解决方案资源管理器http://i.imgur.com/wbqUGOc.png的图片;请告诉我应该如何或在哪里导入我需要运行服务的文件。

这是我第一次参加C#,我现在不愿意理解它,但要提供这项服务,因为我的工作需要它。

1 个答案:

答案 0 :(得分:0)

您的脚本可以执行以下几种操作之一来启动服务:

  • 发出net start控制台命令以启动服务(例如net start "My Service Name"

OR