The company I work for creates Point Of Sale (POS) software using Software As A Service (SAAS), so we host our clients' databases. We do not force all of our clients to be on the same version of our software; i.e. some clients are on version 3, others v4, others v5, etc. As you would expect, the database schema for each of these versions is different, so each of these clients also use a different version of our client-side app.
We are looking at making a Metro app that acts as a light-weight POS app that clients can use to sell their products. The problem is, we will require having multiple versions of our Metro app in production; the version of the app that the client uses
must correspond to their database version. I know that
we can't do this from the Windows Store and would need to sideload our apps.
We have come up with a strategy for deploying multiple versions of our metro app, but I wanted to check with the experts (you) to see if what we want to accomplish is technically possible. Here is what we are thinking:
We would sideload an Updater App to the client's tablet. The purpose of this app would be to check what version of the POS App is installed on the Windows tablet, and check which version of the POS App the client should have. If the correct version
is already installed, it would simply launch the POS App. If the correct version is not installed, it would download the proper .appx file from our servers and side-load it onto the device (of course the client device would need to have a sideloading
product key), and then launch it. The other (ideal) option of course is to just have one metro app that checks and auto-updates itself. The concept behind this seems pretty straightforward, but is this something that is technically supported by
metro apps?
I was hoping to be able to run PowerShell code from my Metro app to use cmdlets like Add-AppxPackage, but it looks like this is not possible. So is what we want to do possible?
If the above is possible to do, another lesser concern is, is it possible to "hide" our POS App so that our clients cannot launch it directly? We want them to always have to go through the Updater App to ensure they always have the proper version of the POS app installed, and have the Updater App launch the POS App.
Any suggestions, ideas, or comments are appreciated. T