I am considering developing a desktop application composed of 2 parts:
The 2 parts connect through sockets. Don't ask why I know it's weird.
I will want to be able to provide to customers the application with an installer. I don't want that users have to install Node.js themselves.
Is there a way to have a Node.js server installed as standalone, i.e. no need to install Node.js globally on the system.
This is a question for any (Windows, Linux, Mac OS X...) environment.
You can bundle the binaries with your application. Won't have to install anything to run a Node app. The binaries are available on the same page as the installers.
You'll just have to know where the binaries are, but I assume you've got an installer that can put them somewhere known.
// To start the node process $ /path/to/binaries/npm install $ /path/to/binaries/node myApp.js
Update 2017-05-04: And there's a new kid in town:
Update 2016-11-14: Nowadays Electron and nwjs seem like the best options.
There are a number of steps you have to go through to create an installer and it varies for each Operating System. For Example:
.pkg, there are instructions on how to do that here: https://coolaj86.com/articles/how-to-create-an-osx-pkg-installer.html
.deb, there are instruction on how to do that here: https://coolaj86.com/articles/how-to-create-a-debian-installer.html
.msi, there are instruction on how do that using the innosetup installer here: https://coolaj86.com/articles/how-to-create-an-innosetup-installer.html