coreybutler / node-windows

Windows support for Node.JS scripts (daemons, eventlog, UAC, etc).
Other
2.78k stars 357 forks source link

Version 1.0.0-beta.2 not creating service #266

Closed nejcukmar closed 3 years ago

nejcukmar commented 3 years ago

Just noticed this started happening yesterday when new lib version came out. (beta.2)

Issue: Lib says that service has been installed but once you check Services inside windows, it doesn't exist.

Steps: First time installation goes through and also emits install event, which should indicate that the service has been installed. After checking Services, there is no service. Also every next install library emits alreadyinstalled but again, service still doesn't exist. If you downgrade lib version to beta.1 it works normally.

babinskiy commented 3 years ago

Same for me: It neither 'error' nor 'invalidinstallation' event raises during installation, no logs in daemon folder creates after.

tyamz commented 3 years ago

Thank God, I thought something was broken with my installer package, but it seems like this is an issue with the latest version. Shows me for using npm i node-windows without specifying a version.

coreybutler commented 3 years ago

I'm fairly certain the culprit is here: https://github.com/coreybutler/node-windows/commit/5de5dbbb95913c88914d46bdd37b23dfbc7b221a#diff-5c2754430010d5f3e95b45e1bb36d58bL225. I just pushed beta.3, which reverts that particular line.

If someone can test this and report back, I would really appreciate it.

JSalter02 commented 3 years ago

No. beta.3 doesn't fix it (at least for me on Windows 10 Pro).

beta.2 doesn't work either (as previously discussed). Says the service is installed and started, but the service is not listed and does not appear to exist.

beta.1 does work.

Thanks to all for quick replies - I happened to be doing this today and thought it was just me.

coreybutler commented 3 years ago

@JSalter02 (or anyone) - the only other code change was the addition of this line: https://github.com/coreybutler/node-windows/commit/5de5dbbb95913c88914d46bdd37b23dfbc7b221a#diff-33dbdab811160c85792ddf82c5546db4R129. If possible, could you remove that line (it will be in node_modules/node-windows/winsw.js (line 129).

Beyond those changes, the only other change was removal of the "os" attribute in package.json (in https://github.com/coreybutler/node-windows/commit/27644416fb21c145bf0f36dc84ba096532472a51).

coreybutler commented 3 years ago

Hold on, I found (and fixed) a regression. Just released as beta.4.

tallytarik commented 3 years ago

beta.4 unfortunately not working either. Windows Server 2016.

Reverted to beta.1 which works as before.

tyamz commented 3 years ago

@coreybutler yeah, still having the issue with beta.4. Appreciate your quick responses though.

coreybutler commented 3 years ago

If you open Powershell and run Get-Process, can you find your process that way?

There is an issue with node-mac that revealed an underlying and recurring bug in libuv (present in Node 12 & 14, ok in 13), which prevents process titles from being registered with the Activity Monitor (equivalent of windows Services). I'm starting to wonder if the services are installed and working, just not displaying amongst the services.

Please post which versions of Node you're running.

JSalter02 commented 3 years ago

The services are not installed and working. Can't reach the node server after it says it is installed and started.

I'm using Node 12.18.3.

Perlkonig commented 3 years ago

Running node 12.18.0 + node-windows@1.0.0-beta.4. The install script is indeed throwing all the right events (my console.log statements are emitting when they should), but no service is appearing in the service manager or in Get-Process, and the app is indeed not running.

Perlkonig commented 3 years ago

Rolling back to beta 1 made it start working for me, but betas 2 and 3 also did not work. The event log sources were created, though. I did see them in the event log viewer.

nvbach91 commented 3 years ago

I'm using Node 6.17.1

The confusing part is the former worked untill recently. Did the beta-* releases or windows updates mess something up?

coreybutler commented 3 years ago

@JSalter02 @Perlkonig Thank you!

@nvbach91 Alot has changed in Windows and in Node. Node 6.x.x has been deprecated for a considerable amount of time now (8.x.x has been deprecated for some time too). Which version of Windows are you running?

nvbach91 commented 3 years ago

@coreybutler Windows 10 Pro version 2004. I also tried today a fresh installation/reset which ends up with this version.

Perlkonig commented 3 years ago

Are you using Node version 6 or npm version 6? The command you should be typing is node --version

forty commented 3 years ago

I have the same behavior as @Perlkonig on Windows Server 2019, node 12.18.3, node-windows 1.0.0 beta4

I'll note that reinstalling (svc.install() twice) logs an event saying the service is already installed, so it means it's somehow installed, just it does not appear in the service list for some reasons

forty commented 3 years ago

I made some tests, it seems that reverting that change in winsw.js made it work again

pdfabbro commented 3 years ago

Thank God, I thought something was broken with my installer package, but it seems like this is an issue with the latest version. Shows me for using npm i node-windows without specifying a version.

Same here. I updated my script to use npm install -g node-windows@0.1.14 until they sort out the kinks. Unofrtunately we have an automated script which was running npm install -g node-windows after OS replaces and the website was down for a couple days over the weekend because of this.

pdfabbro commented 3 years ago

I'm using node v12.16.1 on Windows 2016 server and same issue as others - no error, says service was created, but it doesn't appear in list of services and node server is not running. I reverted back to 0.1.14 to be safe, but after reading through here maybe i'll try beta1.

devcshort commented 3 years ago

Currently all my service installs with this module will log every event since this is part of an install script. In this case, it reaches the "start" event, but never shows up in the service list and is also unreachable from a web browser.

image

coreybutler commented 3 years ago

Based on @forty's experience, I've made the allowservicelogin configuration attribute optional (off by default), as it appears the problem is with the winsw config being generated. There is now a note in the README for those who need to configure a service login.

Here's the scary part: I currently only have my mac to work on, so I still cannot properly test this. I've published it as 1.0.0-beta.5. I appreciate the help from all of you who are testing this out and providing feedback!

devcshort commented 3 years ago

Based on @forty's experience, I've made the allowservicelogin configuration attribute optional (off by default), as it appears the problem is with the winsw config being generated. There is now a note in the README for those who need to configure a service login.

Here's the scary part: I currently only have my mac to work on, so I still cannot properly test this. I've published it as 1.0.0-beta.5. I appreciate the help from all of you who are testing this out and providing feedback!

Just tested it out on our local test server. It seems to be working on beta 5. Ran an uninstall. Then ran our regular install script and it's showing in the service manager and is accessible from other computers within the network as intended.

forty commented 3 years ago

I also confirm beta.5 works here :+1:

Perlkonig commented 3 years ago

Confirmed here too.

coreybutler commented 3 years ago

Thanks to everyone who helped flesh out this issue/provide feedback!