8

I have this super simple webapp, which I can install as an app via the Firefox Marketplace or Chrome Web Store, both just with the editing simple manifest file. Now with the project Westminster I would like to push this app to the Windows Store as well. However, when looking to the developer site I see only the non-Visual Studio guide is “coming soon”, but I am not holding my breath for Microsoft to support non-Windows developers.

So, did anybody write a blogpost or something of that sort which would explain how to create a Windows Store app on non-Windows platform (Linux in my case, but I guess friends on Mac OS X are afflicted in the same manner)? Or is it just not possible and one has to have some Windows gizmo to create the app?

mcepl
  • 2,688
  • 1
  • 23
  • 38

3 Answers3

2

Microsoft has been talking about supporting PWAs directly, but as of now, towards the end of 2017, there's no support in place. Here's how I did it on Linux: ( precursor: you need to already have a Windows developer account and start the submission process for your new app - follow registration instructions on Microsoft's developer site)

  1. Use pwabuilder to generate the (ridiculous amount of) boilerplate. Add your site URL, then click through the steps to download the zip package. You'll only need the windows10/manifest folder from inside the zip.
  2. Create your app through developer dashboard. Navigate to < yourapp >/App Management/App identity. Open up "manifest/appxmanifest.xml" in a text editor and then loosely follow these instructions for converting your "web application to UWP app", ignoring anything specific to Visual Studio. Fill in the ids from "App Identity" page to the placeholders on appxmanifest.xml file and delete/rename/replace placeholder resources, primarily images.
  3. Use the Facebook originated appx util that runs on Linux/OSX to create .appx package. Clone and make/compile the util first. The only complication on typical Linux platform is that you may need to install openssl devel packages first (openssl-devel on RedHat based, libssl-dev on Debian/Ubuntu based). The command to run is something like "Build/appx -o < yourapp >.appx windows10/manifest".
Kalle
  • 2,157
  • 1
  • 22
  • 21
  • Thanks for the update, it is useful, but I think the most appropriate answer to the Windows-store apps is "just don’t bother and build [Progressive web application](https://en.wikipedia.org/wiki/Progressive_web_app)”. – mcepl Sep 06 '17 at 10:17
  • I did. Having the PWA listed in the store is about discoverability. – Kalle Sep 07 '17 at 15:22
1

You can use Manifold.js to generate your app package, even directly from the browser. It actually will generate packages for multiple platforms but you can just focus onto the Windows 10 folder for your needs.

You can also use the ManifoldJS npm command line tool to create an APPX package with your app contents for submission to the Windows Store, even on platforms that do not support installing the Windows SDK such as OS X and Linux.

Install npm module:

npm install -g manifoldjs 

To package your app, run:

manifoldjs package <content-directory> <output-package-path>

where:

<content-directory> is the folder that contains the app contents, including the appmanifest.xml file and the app's icons

<output-package-path> is the path to the APPX file to be generated

For example:

manifoldjs package /apps/yourapp/windows10/manifest /apps/yourapp/windows10/yourapp.appx
Ryan Joy
  • 3,021
  • 19
  • 20
  • there is something wrong somewhere. See http://paste.fedoraproject.org/266924/23328214/ ... a) why there is an obsolete manifoldJS in npm?, b) your command line doesn't work. What am I missing? – mcepl Sep 14 '15 at 12:25
  • Also, I would add that even if the process works, it is still horribly complicated to one manifest file edited for Firefox and Chrome apps. Also, really, in 2015 we still have to generate 20 (!) different PNG renderings of one SVG file. Why I cannot just use /icon.svg ? What's still wrong with the vector images in the web development world? But the last objection is a design complaint, nothing we can do about right now, I am afraid. – mcepl Sep 14 '15 at 12:31
1

With ManifoldJS you are able to create, package and publish a Windows 10 store app from not just Windows. You can either start with the W3C Web App manifest or a site url. Check out this video for how to publish a UWP Windows app from a Mac.

The docs on the developer site will be updated shortly to include all methods.

  • Although this answer is correct, it is completely useless for me, because apparently Microsoft is not interested in free apps. I don't feel like playing for the privilege of posting the application to MS app store. So, if anybody wants to use it, just go to the URL above. – mcepl Nov 12 '15 at 14:30
  • ManifoldJS is now PWABuilder, but even then - I don't see this as the right answer. PWABuilder insist on creating a new service worker (obviously I have a service worker if I have a full-blown PWA) and if you download the package, you only get a zip with a Windows 10 folder in it, but no ready-made .appx or whatever package it is Microsoft requires for it. – Kalle Sep 05 '17 at 17:48