I'm finally ready to publish my Electron app to the Mac and Windows app store. I've been browsing all the guides available all day, but it seems a lot more complicated than I initially thought.
I finally managed to create a Mac version that I was able to upload to iTunes Connect using Application Loader (even though it's crashing locally because of "invalid code signature"). I haven't been able to create a Windows App Store build yet though. Is it even possible?
Can anyone refer me to a good guide for creating and pushing a Windows build to the Windows App Store?
Can anyone refer me to a good guide for creating and pushing a Mac build to the Mac App Store?
AppX: #2061
@black-snow Sorry for bother you, but is it possible that you (or maybe @markusmoenig) will write tutorial for appx? I guess it should be pretty easy (since electron-builder does a lot of stuff).
@develar I'm always glad to help (i. e. giving something back).
I fear it's been a while ago since I brought a new app to the Windows Store and I'm not sure what's changed in the meantime. So my initial steps might be a little outdated. @holgersindbaek please keep us posted how things are going fou you (so that I can write up a small doc if necessary).
Steps 0-1 might not be necessary with electron-builder. When you plan to do stuff manually you need those toools.
In the meantime, build and test your appx (see the builder docs for that). It's dead simple - thanks to develar (and others).
These are the essential bits from my builder config:
"win": {
"target": [
"appx"
]
},
"appx": {
// pretty much the name of the certificate file
"publisher": "CN=XYZ",
"backgroundColor": "transparent",
"identityName": "XYZ",
"displayName": "XYZ",
"publisherDisplayName": "XYZ",
"languages": ["en-US", "de-DE"] // languages that'll be listesd as supported in Windows Store
}
I think electron-builder will also guide you through the certificate creation process. The other details like publisherDisplayName can be found in your MS developer account (account details or settings or something like that).
The rest should be pretty straight forward - upload the appx to the store and wait for approval.
To test your signed appx locally you'll need to add-appxpackage –register AppxManifest.xml (from within the dir where the manifest is - i.e. *_unpacked / power shell).
@black-snow Thank you very much for the guide. I also have Windows 10 installed on my Mac via Bootcamp, but it's not the OS I'm developing on. Is it possible to Create the Windows app build I need to push on Mac OS? Or is Windows necessary?
@holgersindbaek Windows is necessary. Consider using https://www.appveyor.com or if you want locally — Parallels (VMware or free virtualbox). http://www.parallels.com/products/desktop/ is recommended because it is faster and soon will be directly supported by electron-builder.
@black-snow @develar The above list looks good. Worked for me. Got approved for the Windows Store and now waiting for my account to get unlocked so that I can upload my binary. Another question. I am now starting to look at snap support, is there a guide for that ? It all looks a bit confusing on the first glance :)
@markusmoenig Glad to hear that. For snap please open a new issue / search the issues (I remember some issue about that).
@develar Shall I write that up for some doc page? If yes, which format? Markup (github)? HTML?
@black-snow @develar Actually once I figured I had to install Docker for Mac snap was straight forward. Its already in the "stores". However I did not realize that the Ubuntu Store is not a real store anymore.
Would you guys be interested in implementing Steam support ? I would love PS3D to be in Steam. It would not be much work as it is just an easy directory structure you would need to implement (and zip it). Shall I send specifics ? Thanks.
If you implement it I'm sure develar will integrate it ;)
@black-snow For what do you need VS2017 and Windows SDK tools?
Like I said, you need the tools if you have to do stuff manually. Before appx support was improved I manually had to edit appxmanifest and pri files etc.
@develar You also need to test the appx with the Windows App Certification Kit tool (part of the Windows 10 SDK). It checks various stuff including the icon assets etc. The Windows Store support engineer will make sure this the appx passes before testing anything further.
Sounds like electron-builder should do this automatically after packing things up.
@markusmoenig can you describe the process / give some resource on that?
@black-snow I did not use the terminal interface for the kit, only the UI and it's a long process, can take 15 minutes or so. You are not supposed todo anything in that period as the app may be started / stopped during testing. For electron apps I think only the icon assets test can go wrong and the Windows 10 S tests (they did for me), I am not sure if all the other tests can fail.
Due to the long process needed for this I am not sure it makes sense to call it from within electron builder.
More info here: https://developer.microsoft.com/en-us/windows/develop/app-certification-kit.
@black-snow Thanks a lot for a guide. Why did you set backgroundColor? Maybe we need to change defaults?
@black-snow Please review https://www.electron.build/configuration/appx#how-to-publish-your-electron-app-to-the-windows-app-store :)
Maybe we should add something about the new Windows 10 S tests (Windows App Certification Kit).
Concerning backgroundColor - transparent is probably the default? I played around with a couple things because the icon wasn't right in all cases - might just be a remainder of that.
Good stuff... would be even better if these kinds of guides were available on the electron.build site as opposed to digging through issues ;-)
@coreybutler See link above — it is on the electron.build site now. If something missed — feel free to contribute and send PR ;)
This issue should be resolved then. @holgersindbaek anything missing?
I hope not. I'm in the process getting my Microsoft developer account verified. Seems like it's a bit of a hassle. I'll let you know if I get stuck at one of the points.
Thanks for looking into it.
Most helpful comment
@develar I'm always glad to help (i. e. giving something back).
I fear it's been a while ago since I brought a new app to the Windows Store and I'm not sure what's changed in the meantime. So my initial steps might be a little outdated. @holgersindbaek please keep us posted how things are going fou you (so that I can write up a small doc if necessary).
Steps 0-1 might not be necessary with electron-builder. When you plan to do stuff manually you need those toools.
0.5. You'll also need VS2017 Community or newer/higher. http://lmgtfy.com/?q=vs2017 and the UWP tools (via VS)
In the meantime, build and test your appx (see the builder docs for that). It's dead simple - thanks to develar (and others).
These are the essential bits from my builder config:
"win": {
"target": [
"appx"
]
},
"appx": {
// pretty much the name of the certificate file
"publisher": "CN=XYZ",
"backgroundColor": "transparent",
"identityName": "XYZ",
"displayName": "XYZ",
"publisherDisplayName": "XYZ",
"languages": ["en-US", "de-DE"] // languages that'll be listesd as supported in Windows Store
}
I think electron-builder will also guide you through the certificate creation process. The other details like
publisherDisplayNamecan be found in your MS developer account (account details or settings or something like that).The rest should be pretty straight forward - upload the appx to the store and wait for approval.
To test your signed appx locally you'll need to
add-appxpackage –register AppxManifest.xml(from within the dir where the manifest is - i.e. *_unpacked / power shell).