Deploying a Windows 10 app with Cordova
So I recently dipped my toes into the wacky world of software development by attempting to built a Windows 10 App with Cordova (utilsing the Universal Windows Platform). I had a client who was performing a large scale office move and wanted to deploy an enterprise level ‘app’ across their organisations fleet of Microsoft devices. Their requirements where a splash screen that transitions to a countdown and small navigation menu to other services. Easy right?
Oh, they wanted offline access, which ruled out an internal web server/landing page. Cordova and the Windows 10 universal app platform ticked all the boxes so I decided to give it a go.
I decided to fully immerse myself in Microsoft and dropped Sublime for Microsoft Visual Studio as the primary IDE (It has built in templates for a Windows 10 App with Cordova). The actual development was pleasant and I recommend Microsoft Visual Studio if you want to develop on a Microsoft OS. You will also need to splash out on a Windows Developer Account – for individuals, it’s a whopping £12 (plus £2~ VAT). No annual cost just the initial outlay.
The pain begins with deploying the app. As previously mentioned I am no guru with Visual Studio – I navigated to what I consider the correct option as follows;
Project Menu -> Store -> Create App Package.
- Click ‘No’ to App Store
- Click Create
- Navigate to output folder, then Platforms -> Windows -> \assets\www\AppPackages
- You will see .appxupload and folder – this is the app
As far as I can ascertain there are 3 ways of deploying a Windows 10 App;
- Option 1) The ‘Windows Store’.
- Option 2) The Sideloading mechanism.
- Option 3) The private ‘Windows Store For Business’.
Option 1) The ‘Windows Store’
Unlike the Android and iOS app store counterparts, the Windows Store enables you to deploy apps without publicly listing them. You can restrict access to your Windows 10 app to anyone in possession of the direct link or restrict access to a range of people with Microsoft accounts. As the nature of this app (and most of my work) is confidential due to its internal enterprise audience, the first option wasn’t really ideal – although unlikely – a staff member could share the URL and the platform/solution didn’t sit well with me.
Option 2) The Side-loading mechanism.
With Windows 10 you can now sideload line-of-business apps, in theory, it sounds really useful – being able to install apps outside of the Windows Store…. except any security conscious IT dept would lock that down FAST – for a personal use it makes sense (the process is a bit ugly, however), but this is not an enterprise solution.
Option 3) The Windows Store for Business
Hoo boy, this was a headache but it was by far the best solution for everyone. This method gives us a nice wrapped up installer file that we can distribute and IT Departments can deploy using the standard methods.
Firstly you will need access to the ‘Windows Store for Business‘ – essentially it’s a private app store for your company when I first did this the client had not set this up – luckily my current employer has an Office365 setup and Organisation in place. I setup the Store under Gatehouse Consulting Ltd, and invited my Windows Developer account as a ‘Line of Business’ Publisher.
Once I’ve added myself as a publisher, I headed back to the Windows Dev Centre to submit the app. After a bit of trial and error I configured the app with the following;
You have to then submit the app to Microsoft for reviewing, this process takes 1-2 hours. Once approved the app will appear back in the Windows Store for Business – under ‘Inventory’
To get the installer, click the ‘…’ icon under Actions – then ‘Download for offline use’ – follow the prompts and you will receive a nice .AppxBundle for your efforts 🙂
You can open the file and install as normal or distribute via SCCM 🙂
There may have been a headache with certificates, I can’t remember fully but it wasn’t a HUGE headache compared to that of iOS.
There you have it! a built Windows 10 App with Cordova!
Hopefully, this post will help anyone who is also trying to dip into Windows App deployment for Enterprise environments. Obviously, my experience and client requirements will be different so other options might appeal more so!