我正在将文件观察器应用程序作为 Windows 服务 (W10) 运行,并使用以下代码来安装该服务:
var Service = require('node-windows').Service;
const config = require('./SHR_modules/config');
// Create a new service object
var svc = new Service({
name:'SmartHR',
description: 'Smart HR file watcher',
script: require('path').join(__dirname,'watcher.js'),
workingDirectory: __dirname
});
// Listen for the "install" event, which indicates the
// process is available as a service.
svc.on('install',function(){
svc.start();
console.log('installed as user: ' + svc.logOnAs.account)
});
svc.on('uninstall',function(){
console.log('Uninstall complete.');
console.log('The service exists: ',svc.exists);
});
svc.logOnAs.domain = config.sqlServerLogin.domain;
svc.logOnAs.account = config.sqlServerLogin.user;
svc.logOnAs.password = config.sqlServerLogin.password;
svc.install();
//svc.uninstall();
以管理员身份运行代码并且服务确实安装正确,但它已停止,所以当我尝试启动它时,消息是服务无法启动错误密码。用户名和域是正确的。如果我将密码从我的 config.js 复制/粘贴到服务管理器中,该服务将从现在开始启动并运行。为什么密码(无论它是什么)没有通过该行传递:
svc.logOnAs.password = config.sqlServerLogin.password;
正确吗?