mStream/docs/compile-mstream-express.md
Paul Sori 8053eda3d6 bump
2019-04-30 01:55:39 -04:00

105 lines
3.4 KiB
Markdown

These instructions change regularly. Steps marked optional are meant there to make the final app size smaller.
**Install Dependencies**
```shell
# Install electron-packager
npm install -g electron-packager
# Install modclean (optional)
npm install -g modclean
# Install electron globally (optional)
npm install -g electron
```
**Modify package.json (optional)**
Remove all dependencies related to the command line (commander, inquirer, colors). These packages will never be used by mStream Express and can be safely removed to reduce the output size
**Cleanup node_modules (optional)**
Modclean can be used to clean out the node_modules folder of useless files. This deletes over 1000 useless files saving space and shortening install time. To install modlcean, run:
```
npm install -g modclean
```
Then run modclean with:
```
modclean
```
**Compile**
Compile with electron-packager
```shell
# Windows
electron-packager mStream\ mstreamExpress --platform=win32 --arch=x64 --icon=mStream\electron\images\mstream-logo-cut.ico --electron-version=5.0.0
# OSX
electron-packager mStream/ mstreamExpressOSX --platform=darwin --arch=x64 --icon=mStream/electron/images/mstream-logo-cut.icns --electron-version=5.0.0
# Ubuntu
electron-packager mStream/ mstreamExpress --platform=linux --arch=x64 --icon=mStream/electron/images/mstream-logo-cut.png --electron-version=5.0.0
```
**Package with INNO**
Run this INNO script to package mStream Express as an installable EXE
```
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{BCD70900-6E68-40FD-87C6-ADC5141BFFA4}}
AppName=mStream Express
AppVersion=0.6.0
;AppVerName=mStream Express 0.6.0
AppPublisher=Iros Software LLC
AppPublisherURL=http://mstream.io
AppSupportURL=http://mstream.io
AppUpdatesURL=http://mstream.io
DefaultDirName={pf}\mStream Express
DisableProgramGroupPage=yes
OutputDir=C:\Users\paul\Documents\Code\ME INNO
OutputBaseFilename=mStreamExpressSetup-v0.6
SetupIconFile=C:\Users\paul\Documents\Code\mstream-electron\images\mstream-logo-cut.ico
Compression=lzma
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
[Files]
Source: "C:\mstreamExpress\mstreamExpress.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\mstreamExpress\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{commonprograms}\mStream Express"; Filename: "{app}\mstreamExpress.exe"
Name: "{commondesktop}\mStream Express"; Filename: "{app}\mstreamExpress.exe"; Tasks: desktopicon
[Run]
Filename: "{app}\mstreamExpress.exe"; Description: "{cm:LaunchProgram,mStream Express}"; Flags: nowait postinstall skipifsilent
```
**Sign App on Windows**
Install WIndows SDK
```
cd "c:\Program Files (x86)\Windows Kits\10\bin\x86\"
signtool.exe sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /a "c:\mStreamExpressSetup-v0.6.exe"
```