Skip to content
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

Single squirrel installer for Windows 32 and 64 bit architectures #171

Closed
3 tasks done
noahott opened this issue Mar 20, 2017 · 5 comments
Closed
3 tasks done

Single squirrel installer for Windows 32 and 64 bit architectures #171

noahott opened this issue Mar 20, 2017 · 5 comments

Comments

@noahott
Copy link

noahott commented Mar 20, 2017

  • I have read the contribution documentation for this project.
  • I agree to follow the code of conduct that this project follows, as appropriate.
  • I have searched the issue tracker for an issue that matches the one I want to file, without success.

Please describe your issue:

Is it possible to make a single windows installer for both ia32 and x64 architectures? When running

electron-forge make --arch=ia32,x64

"Making for the following targets:" fails with error:
An unhandled rejection has occurred inside Forge: Couldn't find packaged app at: C:\Users\noah\Documents\MQ\QBEA\MedQest-Qbank-Electron\out\MQ-QBank-win32-ia32,x64 Error: Couldn't find packaged app at: C:\Users\noah\Documents\MQ\QBEA\MedQest-Qbank-Electron\out\MQ-QBank-win32-ia32,x64 at _loop$ (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\dist\api\make.js:229:29) at tryCatch (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\regenerator-runtime\runtime.js:64:40) at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\regenerator-runtime\runtime.js:299:22) at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\regenerator-runtime\runtime.js:116:21) at tryCatch (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\regenerator-runtime\runtime.js:64:40) at maybeInvokeDelegate (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\regenerator-runtime\runtime.js:361:18) at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\regenerator-runtime\runtime.js:273:32) at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\regenerator-runtime\runtime.js:116:21) at GeneratorFunctionPrototype.tryCatcher (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\bluebird\js\release\util.js:16:23) at PromiseSpawn._promiseFulfilled (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\bluebird\js\release\generators.js:97:49) at Promise._settlePromise (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\bluebird\js\release\promise.js:574:26) at Promise._settlePromise0 (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\bluebird\js\release\promise.js:614:10) at Promise._settlePromises (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\bluebird\js\release\promise.js:693:18) at Async._drainQueue (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\bluebird\js\release\async.js:133:16) at Async._drainQueues (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\bluebird\js\release\async.js:143:10) at Immediate.Async.drainQueues (C:\Users\noah\AppData\Roaming\npm\node_modules\electron-forge\node_modules\bluebird\js\release\async.js:17:14)

Packaging results in two folders, ia32 and x64 under out/make/squirrel.windows. Is there are way to make them together into one installer?

Alternatively, can publish be configured to build each installer separately and publish the output to two different s3 folders?

@malept
Copy link
Member

malept commented Mar 20, 2017

Regarding the first question: @paulcbetts do you know if this is possible?

@MarshallOfSound
Copy link
Member

MarshallOfSound commented Mar 20, 2017

@noahott On windows all 32bit programs can run on 64bit windows but not vice-versa. If you want a single installer that will run on both, you need to use the 32bit version of your program 👍

@MarshallOfSound
Copy link
Member

Alternatively, can publish be configured to build each installer separately and publish the output to two different s3 folders?

Currently that's not possible, the s3 config is static (the same) for all make / publish targets, if it's something that would help you solve this problem it's an enhancement we could look in to.

@develar
Copy link

develar commented Mar 22, 2017

electron-builder since 16.1.0 supports compiling electron-forge projects (electron-compile is supported) To get one installer for both archs, you can use or nsis target, or nsis-web (https://github.com/electron-userland/electron-builder/wiki/NSIS#32-bit--64-bit).

can publish be configured to build each installer separately and publish the output to two different s3 folders

electron-builder allows you to specify publish config for target (nsis or nsisWeb), including macro support (but ${arch} macro is not available since nsis produces single installer for both archs).

Or you can use nsis target for electron-forge — https://www.npmjs.com/package/electron-forge-maker-nsis

@noahott
Copy link
Author

noahott commented Mar 22, 2017

thanks @develar; this is useful information I didn't know before.
@MarshallOfSound, I'm solving this problem, for now, by just publishing the 32bit version.

@noahott noahott closed this as completed Mar 22, 2017
dsanders11 pushed a commit that referenced this issue Jan 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants