Electron Windows Installer with wizard - node.js

I have created an app using Electron and I want to create a Windows installer with a wizard.
I am currently using the electron-installer-windows module to create my installer. But this create a single .exe file with no wizard at all.
I need the wizard to allow user to select destination folder and the possibility of creating a desktop icon
So, there is a way to generate an installer with a wizard using this module? or I need to create my own installer?
also, will this installer manage dependency issues? for example if the end user does not have npm installed, or any other dependency

I ended up using Inno Setup to create the installer.

I've had success with electron-builder. I would recommend giving it a try.

Related

Uninstall a .exe on uninstall setup(.exe) created using Install sheild

I created a Windows form setup using install shield.
Is it possible to stop other services (ex: .exe's) in my system while uninstalling setup created using install shield.
Is this possible while creating setup using Install shield or I want any scripts in my app to stop certain services while uninstalling my setup.
Service installation settings are found in the "Advanced Settings" view of each individual component if you have the right version of Installshield - I am not sure what features "light versions" have.
If you don't have an appropriate version of Installshield you can always use a VBScript or similar to stop any service you want.

How to create ProgramData folder with InstallShield?

Using InstallShield LE with Visual Studio 2013, dev and target machines are Windows 7.
How do I create a folder under ProgramData and place a file in it? I have a text configuration file that I need to put there so the user can edit it as needed.
[I know this isn't a forum for ranting, so use your imagination to insert some nasty non-family-friendly comments about InstallShield here.]
InstallShield is a Windows Installer authoring tool. InstallShield rants aside, let's talk about the Windows Installer pain of what you are trying to do.
Installing per-user components is a pain. It requires a repair in each user context to populate the file. It's very ugly and has issues such as source resolution.
There is an easier way. Install a "seed" of the file in [ProgramFiles]Company\Product or [CommmonAppData]Company\Product and when the user runs your program copy the file to the users ProgramData if it does not exist.
This way you keep it simple for the installer, only add a few lines of code to your startup and don't have to worry about MSI trying to "fix" the user config file when the user edits the content because the installer doesn't know anything about it.
Easy, heh? Application design and Installer design have to go hand in hand.

InstallShield what to give to client

I used InstallShield to create an installer for my project.
It included the following files (deeply nested in a file directory):
program files (folder),0x0409.ini, setup.exe, Setup.ini, applicationName.msi
Am I supposed to provide all these to the client and have him click the setup.exe button? or is there a nicer (easier) way to make it clear what the client needs to click?
I know you can just have the applicationName.msi, but why did they create a setup.exe program then?
Installshield creates a setup.exe if you have your project's Release configured to create one. Choose "no" under Releases | Setup.exe tab | Setup Launcher. Those other files you mention should not be needed by the client.

c# Setup Project - Make sure .EXE runs prior to MSI?

I'm using a C# setup project which includes some pre-requisite software. These pre-req's appear to only get installed by the EXE and not the MSI (both EXE and MSI are created when I build my setup project.)
I can't always trust that my users will bother running the EXE as opposed to the MSI, so is there a way to force it? Perhaps some options:
My app needs Sql CE 3.5 SP2 - Is there a way that I can have the MSI install this instead of it only being installed in the EXE?
Is there a way to make my MSI detect when it's launched by the user instead of launched by the EXE?
Can I have my MSI launch the EXE installer as part of it's install process?
This is not supported by Visual Studio setup project. However, commercial setup authoring tools offer multiple solutions:
handle prerequisites from the MSI installation UI instead of using an EXE
embed the MSI into the EXE so you have only one setup file
configure the EXE to set a custom MSI property and create a launch condition based on that property; this way the MSI will stop if the property was not set by the EXE
If you want to continue using Visual Studio, a solution would be to create a launch condition for Sql CE 3.5 SP2. This way the installation will stop if Sql CE 3.5 SP2 is not installed.

Is it possible to create an updater that downloads files from a web server using NSIS?

I have created a mini installer in NSIS that installs patches for my application. I want to create an NSIS software updater that would download this mini installer from the web server. Is it possible?
Thanks...
You probably want the NSISdl plug-in.

Resources