There are loaders available to cloak non daemon apps to run as a service, but we start adding bloatware in doing so.
IMO - Task Scheduler set to "At System Start Up", is keeping it all native?
We use Task Scheduler with all our Node Instances, and all seem to run like clock work, its also easier for the end-user to understand how it is started, and by what user.
In fact, there's the (perhaps) less professional and meanwhile (perhaps considered) obsolete option to add a link to the autostart group as well. The combination could look like this:
I don't think any of these are wrong or bad - just options.
If you start at system startup, you need to decide what user id to use of course. You can use SYSTEM but then may not get access to some user resources, especially on a desktop system. And it means that you are effectively running as a privileged service which might not be allowed on some managed systems and can have cyber implications on others.
Sorry for raising these speed-bumps but worth getting things out in the open before committing.
Though more complex, it might be worth considering 2 options. I think that Task Scheduler is OK but perhaps offer one as running at system start with the SYSTEM user and another option to run at logon with the current user?
instead, use a dedicated (unprivileged) account, which can be created with little issue.
net user /add NodeRED Password123
The only minor issue, that may be overcome in the same command is to allow Logon as batch job for the user NodeRED - windows way of saying, this user is allowed to run whilst not logged on with an interactive shell.
This gives piece of mind (and to the user) the installed Node RED instance cannot do harm on the system by having access to resources, that an admin/system account can.
Thank you for testing this installer!
Let's try to figure out, what happened:
Could you please post a shot of the setup page labeled 'Final verification' - or at least a copy of the configuration that is displayed there?
Did you notice - by chance - that the installer was downloading the python installation file?
Is the mentioned directory empty, not present - or just this file missing? Be aware that the installer deletes this (temporary) directory when it closes - so you have to check while the error message is present!
@SuperNinja
Looks like you fell over a bug in the installer: There was a guard missing that had to ensure that Python is only installed when you as well triggered a change of Node.js.
A new beta.3 has just been released that should address this. Would be great if you could test it & report back!
Thank you for your support improving the installer!
In the current beta.3, a selected location / custom path may be defined for new installation setups, under Configuration / Installation path. Just double click on the label to change the default setting.
EDIT & Heads-Up: Please take the beta.4 for your tests. Just fixed a bug that created a failure when trying to install into C:\Program Files.
I have tried Beta 4 and Beta 6 Windows installer but the result is the same. When I try to start the new instance using the desktop shortcut, I see the NR window open for a second then close.
When running the installer, it finds my global installation of NR that uses port 1880. I then click the + sign to add a new local version. I have tried leaving the port setting as Default and have also defined specific ports such as 1882 and 1885, both ports are available.
I think the new install is using the settings of the global install on port 1880. When I run, node.exe red.js, in the new instance folder(C:\Program Files (x86)\Node-RED\node_modules\node-red), I can see it is using the global instance path and port 1880 which is already running as a service, so the new instance stops.
Hi @DaveO !
Welcome to this forum & thank you for testing the Windows installer.
I can confirm the issue.
Rather than to the ports it looks like being related to the --userDir (and given privileges) the installer assigns for Custom Path installations; it yet seems to only affect installations into the Program Files folder.
I'll make up my mind how to fix this...
Well, probably best to follow a similar line to my alternate installer?
That installs node-red itself into a "master" folder and makes the userDir a sub-folder called "data". Some variation on that should work. Or you could go for a top-level "node-red" folder and put the instances beneath that. or some combination of those.
Hi @ralphwetzel thanks for the quick reply. I changed the install path to C:\Node-RED and it works perfectly now. Thanks for the great work you are doing!
Dave
One additional note regarding the install to C:\Node-RED folder. To install nodes from the Palette Manager, I had to run the Node-RED shortcut as Administrator.