-
-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
provide way to create "installers" (.dmg, .msi, .deb etc) #33
Comments
+1, such a tool would be appreciated. |
Existing tools for |
It would be nice if the installer creation could be run from one OS (as is currently the case with electron-packager), then one could use CI to automatically generate them for releases. Unfortunately, after searching for cross-platform support for creating |
One of the ways I did this manually was from here. These installers are much more user friendly. Would love to be able to generate a .dmg or .msi file. |
In OSX, diskutil can be run from the command line, so we could write a wrapper that shells out the commands. Unfortunately, this approach wont be portable to Win/Linux. |
We wrote automated installer generators for windows and macos last week. |
@stefanjudis Definitely. ;) |
I can haz? |
@stefanjudis i'd rather have the installer code live in another tool, and not make this module any bigger (its already getting bloated). but sharing your code would be much appreciated :) |
Fair enough. Currently it's in a private company repo. But we sure'ly can transfer it. |
electron-installer |
Here we go. Will ping you guys on the weekend. :)
Made in company working hours so it will be placed here. :) |
I'll look forward, then. Thank you stefan! |
Will tackle it tomorrow. :) Arnaud notifications@github.com schrieb am So., 24. Mai 2015 01:50:
|
Hi, I have built appdmg in Node.js which produces lovely looking dmg-images. We are currently tracking cross-platform here: LinusU/node-appdmg#14 (comment) I think it certainly possible to get it working but there will be a lot of man hours behind it. We do create the
var appdmg = require('appdmg');
var ee = appdmg({ source: 'test/appdmg.json', target: 'test.dmg' });
ee.on('progress', function (info) {
// info.current is the current step
// info.total is the total number of steps
// info.type is on of 'step-begin', 'step-end'
// 'step-begin'
// info.title is the title of the current step
// 'step-end'
// info.status is one of 'ok', 'skip', 'fail'
});
ee.on('finish', function () {
// There now is a `test.dmg` file
});
ee.on('error', function (err) {
// An error occurred
}); Instead of passing |
Guys, could anyone clarify, what's the recommended way right now? AFAIK, for windows it's better to use grunt-electron-installer (official?) Another question: @maxogden could you please share your thoughts? |
A link to
DMG creation does not currently work on any other OS than OSX. (See: LinusU/node-appdmg#14.) Otherwise, a Windows installer can be created on any (supported) platform. (See |
@malept but is there any recommended way? sorry if it's offtop |
@havenchyk it depends on what you mean by "recommended". I personally use In fact, since |
@malept sure, thanks for your answers here. If electron-builder is in the readme, it's enough for me |
electron-complete-buidler can produce installers (auto-update ready, including Linux deb package), sign it on CI server and publish to GitHub releases. |
Ouch. :( @develar Why not contributing to |
@stefanjudis Originally, electron-builder was used under the hood. But then I realized, that I need squirrel-windows installer to build auto-update ready windows app. So, now I use windows-installer to produce windows artefact. It is the main reason why So, electron-builder was used only to produce DMG. But... why I should use electron-builder if appdmg does the same? So, in the end, electron-builder was removed. |
This will be implemented soon when this https://github.com/electronjs/windows-installer is officially released and we already have a filed issue for that. Linux installers are also included now. The only thing that makes me sad, is the creation of a concurrent project which has several contributors and already gained some traction. As we'll implement the official squirrel thingy we'll end up with two similar projects. :( Never the less. Good luck with that one. |
@stefanjudis To be clear — electron-complete-builder is not yet another tool to produce installers, but tool to combine all existing tools to "just publish my electron app".
In this case I will just switch back to use electron-builder again as before. Do you want to integrate https://github.com/develar/electron-complete-builder#code-signing, https://github.com/develar/electron-complete-builder#build-version-management and https://github.com/develar/electron-complete-builder/wiki/Publishing-artifacts into electron-builder? I ready to create pull requests and do so (e.g. #251, #255). But I think we should follow Unix Philosophy — Do one thing and do it well. Do you agree with me or I am wrong? Sorry, but I don't want to have gigantic |
Thanks for clarification and I'd love to collaborate. :) Let's move the discussion over to our projects to not create more noise here. :) |
The current recommended way to build installers (which also happens to use Electron Packager) is Electron Forge. |
@malept why not electron-builder? is there any explanation? |
There are several reasons for recommending Electron Forge:
There's a bunch of other reasons but they're not particularly relevant to this issue. |
@malept well, while If Sorry for this, I know that my comment doesn't relate to electron-packager and issue, but to me this situation looks terrible. Facebook hunted a lot of developers from other concurented products to allow them to do awesome thing inside Facebook, but electron community just killing electron-builder. To my mind you and other developers from community ignored the problem with building application for a quite long time (It was painful experience before electron-builder, really), now you decided to kill |
@havenchyk In the entire time I have contributed to Open Source I have never seen a project have to defend the reason for its existence. That said, unfortunately based on where you seem to be taking this discussion, this will be the first.
This is not the case, as @malept said in his original response we use community maintained modules to provide most if not all of forges functionality. All forge actually does is wire everything up in an easy to use way. Actually we even explain this in one of the first lines of our README.
I'm not sure how to respond to this, are you somehow under the impression that @malept or I or any other community member was under an obligation of some kind to provide a tool such as
I'm confused as to what you think is unacceptable, the fact that we made
We are of the firm belief that |
@havenchyk Good luck, At least, thanks for |
@englishextra Electron Packager is fine to use by itself still, but if you need to create installers then Electron Forge is a good, ergonomic option. Particularly if you don't want to glue all the pieces together yourself. To be clear, Electron Packager is not going anywhere. I'm still maintaining it (I just made a PR this week). It's a pretty significant dependency of Electron Forge. And it's going to stay outside of Electron Forge because, to repeat something I mentioned in a Forge ticket:
|
@malept |
@havenchyk electron-builder provides a lot of features that are not covered by forge or any other module. And unlikely will be covered. And targets. And can be used to just pack into distributable format already packed app. Forge is just another user module, not official electron tool. Star trend and download counts show what user wants to use. In any case such situation is good for user — competition. In any case electron-builder is going to be splitted into several packages (it is not required for users, because electron-builder is a lightweight and no need to reduce external npm deps (only archiver that is used only for squirrel.windows)). |
@MarshallOfSound don't get me wrong. I really appreciate all your and community work on forge and even thank you for so well explained answer. There is no any concern about creating new package with "electron way", it's completely fine for OSS. My main concern was that you came up with new solution (forge) and marked it as a "recommended" way. Because with that you can kill another good product. Anyway I see your and @malept points, so good luck with it and again thanks for your work. I think this dicussion can be closed 😄 |
see this thread for the original discussion: #21 (comment)
electron-packager
only creates the executables, it doesn't create the installers. I think this is a good level of complexity forelectron-packager
, so I think someone else should write a e.g.electron-create-installer
module or something similar that is a CLI tool that is Unix Philosophy friendly (like this module and the otherelectron-*
modules I've been working on).resources/existing solutions:
The text was updated successfully, but these errors were encountered: