C#写的服务出现错误:Windows could not start the NLServices sercice on local Computer. Error 1083:The executab...

  • Windows could not start the NLServices sercice on local Computer.
    Error 1083:The executable programe that this service is configured to run in does not implement the service.

    namespace NLServices
    {
        [RunInstaller(true)]
        public partial class ProjectInstall : Installer
        {
            public ProjectInstall()
            {
                InitializeComponent();

                ServiceProcessInstaller spi = new ServiceProcessInstaller();
                ServiceProcessInstaller spINLSDM = new ServiceProcessInstaller();
                spi.Account = ServiceAccount.LocalSystem;
                spINLSDM.Account = ServiceAccount.LocalSystem;

                ServiceInstaller si = new ServiceInstaller();
                si.DisplayName = "NLServices";
                si.Description = "该服务为检测服务。";
                si.StartType = ServiceStartMode.Automatic;
                si.ServiceName = "NLServices";

                ServiceInstaller spNLSDM = new ServiceInstaller();
                spNLSDM.DisplayName = "NLSMChecker";
                spNLSDM.Description = "检测任务列表,并处理相应的任务.";
                spNLSDM.StartType = ServiceStartMode.Automatic;
                spNLSDM.ServiceName = "NLSMChecker";

                this.Installers.Add(spi);            
                this.Installers.Add(si);
                this.Installers.Add(spINLSDM);
                this.Installers.Add(spNLSDM);
            }
        }
    }

    /// <summary>
            /// The main entry point for the application.
            /// </summary>
            static void Main()
            {
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[] 
       { 
        new NSLSer() ,
                    new NLBuildtskService()
       };
                ServiceBase.Run(ServicesToRun);
          }

答案

  • 2009年5月31日 7:08 董文超用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
      已答复
    投票认定帖子内容有帮助
    0
    thanks everybody! but,I found the problem on MSDN Library( http://msdn.microsoft.com/zh-cn/library/system.serviceprocess.serviceprocessinstaller(VS.85).aspx).

    public ProjectInstall()
            {
                InitializeComponent();

                ServiceProcessInstaller spi = new ServiceProcessInstaller();
                ServiceProcessInstaller spINLSDM = new ServiceProcessInstaller();
                spi.Account = ServiceAccount.LocalSystem;
                spINLSDM.Account = ServiceAccount.LocalSystem;

                ServiceInstaller si = new ServiceInstaller();
                si.DisplayName = "NLServices";
                si.Description = "该服务为检测服务。";
                si.StartType = ServiceStartMode.Automatic;
                si.ServiceName = "NLServices";

                ServiceInstaller spNLSDM = new ServiceInstaller();
                spNLSDM.DisplayName = "NLSMChecker";
                spNLSDM.Description = "检测任务列表,并处理相应的任务.";
                spNLSDM.StartType = ServiceStartMode.Automatic;
                spNLSDM.ServiceName = "NLSMChecker";

                this.Installers.Add(spi);            
                this.Installers.Add(si);
                this.Installers.Add(spINLSDM);
                this.Installers.Add(spNLSDM);
            }
    在创建Installer的时候,虽然有两个Service需要注册。但是,仅仅需要一个ServiceProcessInstaller 。通过删除一个ServiceProcessInstaller ,该问题解决了。顺便说一下:Service的Account 需要设置为LocalSystem。否则,可能出现Access Denie deny。等错误!

转载于:https://www.cnblogs.com/netwenchao/archive/2009/07/16/1525087.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值