Menu
If you want to create instead of a Squirrel based installer, a MSI (Microsoft Installer) setup, please follow this tutorial instead.
As a developer, you may know that Linux has package managers so the developers don't 'need' to make the installers. Developers just need to provide a package for a distribution, each distribution then has a way to install this package and this way can be in a terminal (
apt-get
) or via a graphical interface, e.g. Ubuntu Software Center. However, Windows is not Linux.Almost all installers are created by a tool (e.g. WiX, Nsis, Inno Setup and many others). In this article, you will learn how to create an installer for windows using the electron-winstaller module which uses Squirrel, the installation and update framework for Windows desktop apps.
Check out the Widgetoko announcement blog post. Widgetoko enables users to connect to Twitter and watch tweets arrive in real-time that match a specified search term. There are several options for installing Widgetoko. Packaged installers are available as.exe (Win) and.dmg (Mac), or you can build the project from the original source code. In this post we will learn to create an installer for any operating system of our application in electron. Show me the code To create our installer we will make use of a library available through npm packages called Electron Builder, locate ourselves inside the folder where. Nov 01, 2016 In order to register our new Electron application as the handler for custom protocol links, we need to make an installer that would register it. I will use the project electron-builder to package the Electron app. First, let us create 'DMG' installer. The settings will be in the 'build' config object inside the package.json file. Electronアプリからdmgファイルを生成する方法 electron-builderを用いる。 github.com electron-builderを使うための設定 まず、pack shibe97.github.io このサイト上からdmgファイルをダウンロードし、ユーザーの端末上でインストールできるようにした。.
1. Prepare your work area
And with this, we don't mean that you should clean your computer. To make this tutorial easy to understand, we are going to create a folder in the desktop with the name
electron-workspace
, this folder will contain inside a folder that contains the source code of your Electron Project:In this case, the folder will be located at
C:UserssdkcaDesktopelectron-workspace
and the source code of the electron project will be inside of it (myapp-source
).Electron Build Dmg On Linux
2. Install the Electron winstaller module
Now, we need to install the module that will help us to create the installer, in this case we are going to use electron-winstaller. This NPM module builds Windows installers for Electron apps using Squirrel. Start the NodeJS command prompt and Navigate to the workspace using (note that the module needs to be installed in the workspace, not in your project):
And then install the module with:
How to beat/farm Lvl 40.Forum.How to beat/farm LD. Knights chronicle timespace void counter 1 dmg system. GX. Legendary Duelists.
After the installation of the module, our workspace will have now 2 folders:
3. Manage desktop shortcuts (install, update and uninstall events)
An application that can be installed, but the executable can't be found to start it once it's closed doesn't work for nothing. Therefore, we are going to use the electron-squirrel-startup module that will help you to achieve our goal. It handles the most common commands, such as managing desktop shortcuts (installation event, update event and uninstall event).
Electron Build Dmg
This module needs to be installed inside your project, not in the workspace, therefore navigate to the folder of the source code of your Electron project with the NodeJS command prompt, in this case we are going to use:
And then install the module using:
After the installation of the module, we need to instruct with some code what we are going to do. We are going to add some code, specifically in the
main.js
file of your Electron Project. At the start of your file (after the declaration of the app variable) add the following lines:The
handleSquirrelEvent
function expects as first argument the app variable, this function can be added at the end of your main.js
file:Note
![Electron Electron](/uploads/1/2/5/5/125589398/210349989.png)
The following code will be only executed if the application is within an installer, so this code will be not executed while you work on your project.
The previous code should handle the basic things that happens when a new app is installed in your system e.g the shortcut will be added to the Start Menu and Desktop and it will remove the shortcut when the uninstaller is executed, besides it should work without any modification. Feel free to add more code if you need to.
4. Build your app
The required modifications to accomplish the basic tasks of an installed applications were made, now proceed to build your application. We assume that you know how to build your application using tools like electron-packager. If you don't, please read the following article about how to create a distribution from your app using electron packager in Windows.
After know how to build your application, proceed to do it. Navigate to the workspace (in order to build the project inside of it):
And build the project, for example, we are going to build our project using the following command:
That will create the
myapp-source-built-win32-x64
folder inside the electron-workspace
folder that has the following structure:5. Create an installer from your application
Once your project has been built, you can create an installer from it. Create a folder where the installers will be created, specifically in our workspace (
C:UserssdkcaDesktopelectron-workspace
) with the name you want, in this case it will be myapp-source-built-installers
. You won't touch this folder as the installers will be created in the next step automatically. At this step, you should have 4 folders (myapp-source-built-installers
is empty):Now create a script that will create our installers, create the
build.js
file in our electron workspace (C:UserssdkcaDesktopelectron-workspace
) with the following code inside:Note
If you don't feel comfortable working with relative paths, you can use absolute paths in your first try to know what's happening.
![Electron Electron](/uploads/1/2/5/5/125589398/950957304.png)
Note
You can change the icon and other properties in the settings of the previous script. Check all the supported options here.
![Handbrake download mac 10.6 8](/uploads/1/2/5/5/125589398/285280603.jpg)
To build an installer from your app, you just need to execute this script. However, in case that you find this error:
The Component/@Id attribute's value, 'your-app-exe-name.exe', is not a legal identifier. Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.). Every identifier must begin with either a letter or an underscore.
Is necessary to edit the name property of your project in the
/your-built-project/resources/app/package.json
file and remove or replace all the hyphen (-
symbol) e.g if your package.json
looks like:Change it to:
If you already verified this, proceed to execute the
build.js
script navigating to the workspace with the NodeJS command prompt:And execute the script:
The installer files will be created and it will took a while. Once the installers are created you will see the following message in the console:
Finally, open the installers folder (in this case located in
C:UserssdkcaDesktopelectron-workspacemyapp-source-built-installers
) and you will find there 3 installers (msi installer, executable installer and a nuGET package):You can try to install your app locally executing as administrator the
Setup.exe
file. Then a mini setup will install the application on your system and you will be able to see it in the start menu of Windows and as a shortcut in the Desktop:Note
The setup loading animation can be changed if you provide the path of a gif file to show during the installation in the
loadingGif
option in your build.js
script.Note that the name of the executable, description and other properties can be changed in the
package.json
of your app and in the options of the winstaller module, for more information please visit the repository to see the documentation.Important notes
For development or internal use, creating installers without a signature is okay, but for a production app you need to sign your application. Internet Explorer's SmartScreen filter will block your app from being downloaded, and many anti-virus vendors will consider your app as malware unless you obtain a valid cert.
Any certificate valid for 'Authenticode Code Signing' will work here, but if you get the right kind of code certificate, you can also opt-in to Windows Error Reporting. This MSDN page has the latest links on where to get a WER-compatible certificate. The 'Standard Code Signing' certificate is sufficient for this purpose.
Happy coding !