etcher icon indicating copy to clipboard operation
etcher copied to clipboard

Package Etcher for Windows Store

Open WasabiFan opened this issue 8 years ago • 10 comments

With Project Centennial, Microsoft introduced the ability to package standard win32 apps as AppX packages which could be published to the Windows Store. Packages produced in this way go through the standard Store ingestion process and contain raw win32 executable bits, however at run-time the system launches the app in a sandbox with certain virtualized resources (e.g. the registry). Tools have been developed expressly for the purpose of packaging Electron apps with this new technology, so theoretically this opens the door for Etcher to be published to the Store.

I don't know much about the restrictions put in place by their UWP sandbox, but I suspect that there's much more than just the registry and certain file system locations as their documentation mentions. I'd imagine that it wouldn't react well to apps attempting to run VBScript or access drive hardware as Etcher does, but it's always a possibility. I think it would be interesting to pursue packaging Etcher for the Store, because with that comes the ability for one-click installation and automatic updates (not to mention the inherent trust which comes from downloading an app from the Store).

Here are some resources I found on the topic (new things may have been published since I found these):

  • https://github.com/felixrieseberg/electron-windows-store
  • http://electron.atom.io/docs/tutorial/windows-store-guide/
  • https://msdn.microsoft.com/windows/uwp/porting/desktop-to-uwp-behind-the-scenes

WasabiFan avatar Nov 03 '16 15:11 WasabiFan

Sounds interesting! I'll give it a go as soon as I can allocate some time for it!

jviotti avatar Nov 03 '16 17:11 jviotti

Desktop apps are now being allowed more broadly into the Windows Store, and I see no reason that Etcher wouldn't be technically functional if packaged with their new tools. Apps ranging from Slack (which is really just their website in an Electron frame) to lower-down system utilities have been demonstrated to work, and they show up with a new privilege level which is essentially "do whatever it wants." Even the desktop app which allows you to package desktop apps is in the Store, and it's a CLI :laughing: You can see the docs page here: https://msdn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-run-desktop-app-converter. Essentially, their new tools run your installer in a sandbox and package the file system diff as an app; I am not entirely sure of the specifics of its privileges at runtime, though.

It would be really cool if you were able to try it out and see if it works! If this turned out to work properly, the optimal Windows installation instructions could be streamlined to two clicks (one on the Etcher website and once in the Store for confirmation). No rush though.

WasabiFan avatar Jan 21 '17 08:01 WasabiFan

for context, what is the installation experience for windows store apps?

--

Alexandros Marinos

Founder & CEO, Resin.io

+1 206-637-5498

@alexandrosm

On Sat, Jan 21, 2017 at 12:35 AM, Wasabi Fan [email protected] wrote:

Desktop apps are now being allowed more broadly into the Windows Store, and I see no reason that Etcher wouldn't be technically functional if packaged with their new tools. Apps ranging from Slack (which is really just their website in an Electron frame) to lower-down system utilities have been demonstrated to work, and they show up with a new privilege level which is essentially "do whatever it wants." Even the desktop app which allows you to package desktop apps is in the Store, and it's a CLI 😆 You can see the docs page here: https://msdn.microsoft.com/en- us/windows/uwp/porting/desktop-to-uwp-run-desktop-app-converter. Essentially, their new tools run your installer in a sandbox and package the file system diff as an app; I am not entirely sure of the specifics of its privileges at runtime, though.

It would be really cool if you were able to try it out and see if it works! If this turned out to work properly, the optimal Windows installation instructions could be streamlined to two clicks (one on the Etcher website and once in the Store for confirmation). No rush though.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/resin-io/etcher/issues/829#issuecomment-274248576, or mute the thread https://github.com/notifications/unsubscribe-auth/ABLUCFw_W0TdUFR1_5XvIwKt3Vsvc0I7ks5rUcNEgaJpZM4Koeau .

alexandrosm avatar Jan 22 '17 16:01 alexandrosm

  1. The user arrives at the page for the program in question in the Store app. The Store app responds to custom protocol links, so you can link from a webpage directly to the Store.
  2. The user clicks the "get" button.
  3. Either the app begins installing or the user is asked to confirm once before it installs; I believe this depends on the version of the OS.
  4. The user is notified when the app finishes installing.

The app installation packages are all hosted by Microsoft's CDNs; to get an app in the Store, you submit it for approval and they test it to confirm that it complies with their policies before pushing it for public use.

If you have a Windows 10 PC available, I'd recommend trying it out so that you can get a feel for it :wink:

WasabiFan avatar Jan 22 '17 21:01 WasabiFan

Great stuff, we should definitely look into this soon. I've used the Windows Store a few times, and I agree that the installation experience is much better than downloading an exe and going through a wizard!

jviotti avatar Jan 23 '17 14:01 jviotti

Any progress with this? an UWP app that autoupdates it's better than having to download and install everytime that a new update gets released.

ender-null avatar Oct 03 '17 16:10 ender-null

I'm wondering about this as well :) would really like to be able to install this through the store and getting updates that way.

hansmbakker avatar Oct 13 '18 16:10 hansmbakker

Any news on this?

TheZoker avatar May 06 '20 12:05 TheZoker

https://winget.run/pkg/Balena/Etcher is also available, but still having a Store entry would be nice!

hansmbakker avatar Jan 24 '22 19:01 hansmbakker

winget package seems to have issues with upgrades

I've installed version 1.5.84 in Jan 2020 and when I run the command winget upgrade --all --include-unknown

Name                                   Id                                Version          Available      Source
---------------------------------------------------------------------------------------------------------------
... (removed irrelevant info)
balenaEtcher 1.5.84                    Balena.Etcher                     1.5.84           1.7.9          winget
7 upgrades available.

... (removed irrelevant info)
(5/5) Found balenaEtcher [Balena.Etcher] Version 1.7.9
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://github.com/balena-io/etcher/releases/download/v1.7.9/balenaEtcher-Setup-1.7.9.exe
  ██████████████████████████████   138 MB /  138 MB
Successfully verified installer hash
Starting package install...
Successfully installed

it installed version 1.7.9 but an entry for 1.5.84 remained in Apps.

image

Selecting "Deinstall" 1.5.84 actually removes 1.7.9 and 1.5.84 remains as orphaned entry that shows below error after selecting "Deinstall"

2022-08-19 16_50_29-C__Users_mholzer_AppData_Local_Programs_balena-etcher_Uninstall balenaEtcher exe

mi-hol avatar Aug 19 '22 14:08 mi-hol