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" ```