Comments (13)
atom has both a AtomSetup.exe
and a atom-windows.zip
. Im on slow internet and cant download both to check em out, but I wonder what the diff is
https://github.com/atom/atom/releases/tag/v0.196.0
from electron-packager.
atom-windows.zip
is a simply a .zip of the output folder as described in Option 1.
AtomSetup.exe
is an installer created with Squirrel for Windows which does a few things:
- installs to user's home directory in AppData/Local
- creates entry in Add/Remove programs
- allows for auto-updating to work (whereas the zip version does not support it)
Naturally the simple option is .zip support.
It is also pretty straight forward to create a basic installer with a MakeNSIS configuration file (see example here: https://github.com/Aluxian/Facebook-Messenger-Desktop/blob/master/assets-windows/) but note that wouldn't give the auto-updating functionality found in the solution Atom uses.
My current use case calls for using Squirrel (because I need the auto-updater and don't want to roll my own). We would need to either bundle or download a handful of the Squirrel binaries. You can see how Atom uses Squirrel to generate the installer here: https://github.com/atom/grunt-electron-installer
from electron-packager.
is the .zip in option 1 a zip that has e.g. App.exe
inside it that users can double click to run the app? If so I think thats a good place to start (since it is the simplest option)
from electron-packager.
Yeah that's what it looks like, an exe file along with a handful of other dlls and misc files.
-rwxr-xr-x@ 1 mhilmi staff 1055 Apr 30 20:42 LICENSE
-rwxr-xr-x@ 1 mhilmi staff 1492992 Apr 30 20:44 Update.exe
-rwxr-xr-x@ 1 mhilmi staff 7214344 Apr 30 20:46 atom.exe
drwxr-xr-x@ 4 mhilmi staff 136 Apr 30 20:42 chromedriver
-rwxr-xr-x@ 1 mhilmi staff 56402432 Apr 30 20:42 chromiumcontent.dll
-rwxr-xr-x@ 1 mhilmi staff 252859 Apr 30 20:42 content_resources_200_percent.pak
-rwxr-xr-x@ 1 mhilmi staff 8457212 Apr 30 20:42 content_shell.pak
-rwxr-xr-x@ 1 mhilmi staff 3466856 Apr 30 20:42 d3dcompiler_47.dll
-rwxr-xr-x@ 1 mhilmi staff 1686016 Apr 30 20:42 ffmpegsumo.dll
-rwxr-xr-x@ 1 mhilmi staff 10457856 Apr 30 20:42 icudtl.dat
-rwxr-xr-x@ 1 mhilmi staff 10752 Apr 30 20:42 libEGL.dll
-rwxr-xr-x@ 1 mhilmi staff 1512960 Apr 30 20:42 libGLESv2.dll
drwxr-xr-x@ 55 mhilmi staff 1870 Apr 30 20:42 locales
-rwxr-xr-x@ 1 mhilmi staff 455328 Apr 30 20:42 msvcp120.dll
-rwxr-xr-x@ 1 mhilmi staff 970912 Apr 30 20:42 msvcr120.dll
-rwxr-xr-x@ 1 mhilmi staff 413533 Apr 30 20:42 natives_blob.bin
drwxr-xr-x@ 8 mhilmi staff 272 Apr 30 20:44 resources
-rwxr-xr-x@ 1 mhilmi staff 742500 Apr 30 20:42 snapshot_blob.bin
-rwxr-xr-x@ 1 mhilmi staff 199302 Apr 30 20:42 ui_resources_200_percent.pak
-rwxr-xr-x@ 1 mhilmi staff 247984 Apr 30 20:42 vccorlib120.dll
-rwxr-xr-x@ 1 mhilmi staff 7 Apr 30 20:42 version
-rwxr-xr-x@ 1 mhilmi staff 81768 Apr 30 20:42 xinput1_3.dll
from electron-packager.
In the zip option, users would have to unzip it to a directory somewhere and then run the .exe from that location
from electron-packager.
I am for an option between zip and raw folder. An installer doesn't make sense, I think it's out of the scope for electron-packager. This is a job for a new tool that creates an installer for Windows and a dmg for OS X?
from electron-packager.
@Ivshti +1 that is a great point about scope
On Sun, May 10, 2015 at 1:34 AM, Ivo Georgiev [email protected]
wrote:
I am for an option between zip and raw folder. An installer doesn't make
sense, I think it's out of the scope for electron-packager. Maybe a new
tool that creates an installer for Windows and a dmg for OS X?—
Reply to this email directly or view it on GitHub
#21 (comment)
.
from electron-packager.
Just to throw in my two cents, I'm using this for creating packages currently and I love it.
I agree with @Ivshti that installers are out of scope of this tool, but the only tool I am aware of (https://github.com/domderen/atom-shell-installer) doesn't work with a folder output from this tool (some complaint about name in the nuget packing process). So really looking for a CLI tool like this one that can create installer/dmg files for these apps for distribution.
from electron-packager.
@englercj this is a tough thing. I've been packaging my app for almost a year now, and there are a few challenges I couldn't automate
-
DMG - setting OS X folder options for a background and icon size programatically; couldn't find a way to do that. You can still use a template DMG and build from there
-
Windows - finding a quality self-extracting installer that allows building from any platform (I Use OS X for building / dev); Paquet Builder is terrific but also paid (IMO deservingly so) and can be used programatically. Unfortunately I don't know if Wine can run it so that we can build from any platform.
My 2 cents, unless you're pushing new versions out every day, do the final step manually. It takes like 3 actions on OS X (replacing .app in the DMG) and 2-3 on Windows (pressing build on your installer creator).
I am not trying to discourage you from automation though, I am just saying it's a nasty process to automate. For OS X - sure. For windows - if there's a way to build quality SFX installers under any platform - sure, but I haven't been able to find that.
from electron-packager.
atom-shell-installer doesn't work with a folder output from this tool
Could you please open an issue and include the specific error message? Thanks!
from electron-packager.
thanks for the feedback everyone, I'm gonna close this for now but open a new issue to specifically discuss app packaging
from electron-packager.
ok new issue to discuss installers is here: #33
from electron-packager.
@Ivshti how do you actually "press build on your installer creator"? Where do you find this option? I'd like to deliver a single .exe rather than a .zip with a bunch of dll's inside.
from electron-packager.
Related Issues (20)
- exe/asar archive created with jwt-decode(3.1.2) does not work HOT 1
- Packager outputs to console error on successful build. HOT 2
- Using sqlite3, it appears that the sqlite3 module is not found after compilation. HOT 4
- Package an Electron app on an Apple Silicon chip for Windows with Electron Packager HOT 1
- electron-packager does not recognize 64-bit wine installations that do not include the wine64 command HOT 2
- Preserve file attributes while copying with 'extra-resource' option HOT 2
- `--arch=all` broken on macOS
- parallel download race condition errors out with: dest already exists HOT 2
- --win32metadata.requested-execution-level=requireAdministrator Can't create shortcut desktop app when install app after build. HOT 1
- Error: spawn /usr/bin/node ENOENT when launching a process with child_process.spawn from app packaged with electron-packager HOT 6
- risc-v is not supported HOT 2
- Mac OS Arm64 is corrupted when built on Linux 64
- The link to API documentation is broken HOT 3
- Electron Packager 18.1.2 breaks electron-forge HOT 2
- EPERM: operation not permitted, rmdir <path> HOT 1
- Unable to read preload script cdv-electron-preload.js HOT 2
- App crashes on MAS after uploading correctly app
- error when packageConfig.tmpdir set to false HOT 4
- Provide an option to preserve the state of the node_modules when packaging HOT 2
- Incorrect error message when --out is set to the folder containing the entry point HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from electron-packager.