This is only for regular applications, however you probably could extend this process using something like node-windows, I've not used it myself but it looks like what you're looking for. node-windows: ruclips.net/video/obXr1NtSEOU/видео.html www.npmjs.com/package/node-windows There's maybe also a way to extend nsis, and as I don't have an exact answer for you I will put my research below: stackoverflow.com/questions/17786875/how-to-install-application-as-windows-service-using-nsis-script nsis.sourceforge.io/NSIS_Simple_Service_Plugin gist.github.com/ddmitov/463f063e6d59d11b0029 I hope it's helpful.
@@VincentLabStudio thank you, but I can make it windows service. I wanted an installer which can at the same time make the app system service without the cmd window popping up. Thank you, I really appreciate your effort. After a search, I found this team "Advanced Installer" they make it work, but it seems quite complicated. But I will figure it out. ruclips.net/user/advancedinstaller
Hello thanks for the tutorial, this is really helpful. I have a question though- my program has 3 components, the GUI (which is a .exe), the server and backend (which is a .war in a Tomcat server), and the Database (which is a PostgreSQL server). How do I go about creating an installer that handles the installation of the DB and Server/Backend before running the GUI .exe?
A little disclaimer before we start, I don't know exactly how to do this, but here is a guide on how to install PostgreSQL manually. And a few of my notes, which will hopefully help you in the right direction. Go to www.enterprisedb.com/download-postgresql-binaries Then go to the binaries from installer version 13.2 and download the windows version. Download the zip file and extract it to the same directory as your project. Now, in your project directory, you should have a folder called pgsql. Go into the pgsql folder and make a new folder called data all lowercase. Now go into the bin directory and open that directory with CMD. Now run the following commands: initdb.exe -U test -A password -E utf8 -W -D ../data pg_ctl -D ../data -l logfile start Now all you would have to do is make this automatic, then the Postgres server would work. Notes: Here is a list of all the parameters you can provide to the initdb.exe www.postgresql.org/docs/9.5/app-initdb.html Maybe it's easier if you don't ask to provide a password. I believe that's what the W flag is doing. Changing the default port is also important you can do that in the /data/postgresql.conf And changing this line. So it does not conflict with other PostgreSQL installations. #port = 5432 # (change requires restart) postgresql.conf And to use the NSIS installer to do this automation, it's definitely possible, but I don't know-how. So I would recommend whatever programming language you are using to do it using that. And make the NSIS installer run that as default and then check if it is installed or not and then run the installation process or just launched the application in the correct order. Or if this gets too complicated, you could always go with a local database file, which is probably what I would recommend. But if you have already written the entire application, that's not really an option. And I know I have not mentioned Tomcat, but it would probably be a similar process. Safe to say no matter what it will be a complicated process and there are lots of places it can go wrong. So if possible, try another solution. Lowdb is a good local database for Node.js www.npmjs.com/package/lowdb Sources: ruclips.net/video/_OsTI0TSXMM/видео.html stackoverflow.com/questions/24625490/installation-of-postgresql-with-nsis stackoverflow.com/questions/41014590/running-different-versions-of-postgresql-side-by-side
my left ear was loving this video
He sounds like he's behind me talking into my left ear
Thank you... I hadn't use NSIS since around 2013, I needed I refresher course.
helped alot using in 2024
Thank you! Fast and easy. I like NSIS a way more than Inno Setup
Thanks! It's very simple and fast!
thank you very much. you gave me the solution i was looking for 2 hours long.
Glad I could help
@@VincentLabStudio now show us how to generate that nsi file from a specific language. xD
Okay, I will add it to my to do list. 🙂
@@VincentLabStudio my pleasure
Great Video Man!
Thank You So Much!!
Glad it helped!
Thank you for this video, great info.
Glad it was helpful!
very well made sir
Great tut, exept there isn't a desktop button, even when optie is selected (windows 11), bug?
will this make it a service app that runs automatically when the installation is finished? I watched the video two times. Thank you.
This is only for regular applications, however you probably could extend this process using something like node-windows, I've not used it myself but it looks like what you're looking for.
node-windows:
ruclips.net/video/obXr1NtSEOU/видео.html
www.npmjs.com/package/node-windows
There's maybe also a way to extend nsis, and as I don't have an exact answer for you I will put my research below:
stackoverflow.com/questions/17786875/how-to-install-application-as-windows-service-using-nsis-script
nsis.sourceforge.io/NSIS_Simple_Service_Plugin
gist.github.com/ddmitov/463f063e6d59d11b0029
I hope it's helpful.
@@VincentLabStudio thank you, but I can make it windows service. I wanted an installer which can at the same time make the app system service without the cmd window popping up. Thank you, I really appreciate your effort.
After a search, I found this team "Advanced Installer" they make it work, but it seems quite complicated. But I will figure it out.
ruclips.net/user/advancedinstaller
how to make the installed file have a icon?
Hello thanks for the tutorial, this is really helpful. I have a question though- my program has 3 components, the GUI (which is a .exe), the server and backend (which is a .war in a Tomcat server), and the Database (which is a PostgreSQL server). How do I go about creating an installer that handles the installation of the DB and Server/Backend before running the GUI .exe?
A little disclaimer before we start, I don't know exactly how to do this, but here is a guide on how to install PostgreSQL manually. And a few of my notes, which will hopefully help you in the right direction.
Go to www.enterprisedb.com/download-postgresql-binaries
Then go to the binaries from installer version 13.2 and download the windows version.
Download the zip file and extract it to the same directory as your project.
Now, in your project directory, you should have a folder called pgsql.
Go into the pgsql folder and make a new folder called data all lowercase.
Now go into the bin directory and open that directory with CMD.
Now run the following commands:
initdb.exe -U test -A password -E utf8 -W -D ../data
pg_ctl -D ../data -l logfile start
Now all you would have to do is make this automatic, then the Postgres server would work.
Notes:
Here is a list of all the parameters you can provide to the initdb.exe
www.postgresql.org/docs/9.5/app-initdb.html
Maybe it's easier if you don't ask to provide a password. I believe that's what the W flag is doing.
Changing the default port is also important you can do that in the /data/postgresql.conf
And changing this line. So it does not conflict with other PostgreSQL installations.
#port = 5432 # (change requires restart) postgresql.conf
And to use the NSIS installer to do this automation, it's definitely possible, but I don't know-how.
So I would recommend whatever programming language you are using to do it using that. And make the NSIS installer run that as default and then check if it is installed or not and then run the installation process or just launched the application in the correct order. Or if this gets too complicated, you could always go with a local database file, which is probably what I would recommend. But if you have already written the entire application, that's not really an option. And I know I have not mentioned Tomcat, but it would probably be a similar process. Safe to say no matter what it will be a complicated process and there are lots of places it can go wrong. So if possible, try another solution.
Lowdb is a good local database for Node.js
www.npmjs.com/package/lowdb
Sources:
ruclips.net/video/_OsTI0TSXMM/видео.html
stackoverflow.com/questions/24625490/installation-of-postgresql-with-nsis
stackoverflow.com/questions/41014590/running-different-versions-of-postgresql-side-by-side
It was a useless tutorial , a basic script with few lines?