无法从命令行或调试器启动服务。 Windows服务必须首先安装Node.js

时间:2019-07-03 10:27:12

标签: node.js windows-services node-windows

我正在创建Windows服务,将一些数据随机添加到数据库,所以我使用节点窗口来实现它,当我运行文件时,它会创建一个可执行文件,当我运行该文件时,我得到“无法启动服务”从命令行或调试器。必须先安装Windows服务” 我该怎么办??

这是app.js文件代码:

var Service = require('node-windows').Service;
var svc = new Service({
    name:'finaltest',
    description: 'The nodejs.org example web server.',
    script: 'testapp.js',

  });

  // Listen for the "install" event, which indicates the
  // process is available as a service.
  svc.on('install',function(){
    svc.start();
  });



  svc.install();

这是testapp.js文件代码:

var test = require('./models/test') ;
test.create({test : Math.random()}).then( () => {
    console.log('hey') ;
})
setInterval(function(){


    test.create({test : Math.random()}).then( () => {
        console.log('hey') ;
    })
}, 60000);

1 个答案:

答案 0 :(得分:0)

在Windows服务可以运行之前,必须先使用installutil“安装”它。 EG:

C:\installutil -i c:\path\to\project\debug\service.exe

使用net stop [服务名称]停止它,并使用net start [服务名称]再次启动它,基本上是重新启动服务。

如果是,则应确保已正确完成操作。如果不是您想要的,请更详细地说明您要尝试做的事情,并随时让我知道。

首先,您应该确保您的服务代码可以正常工作。

第二,如果您使用的是Win7或Win8 OS,

  1. 在Windows“开始”菜单或“开始”屏幕上,选择“ Visual Studio”,“ Visual Studio工具”,“开发人员命令提示符”。
  2. 出现Visual Studio命令提示符。
  3. 从命令提示符运行InstallUtil.exe,并将项目的输出作为参数:

    installutil / u“您的项目” .exe

这是我的屏幕截图,

enter image description here