Possible to remotely update Windows 10 IOT Core App without Azure or Windows Store? - azure

I am in the process of finishing up a Windows 10 IOT Core app to be deployed on Raspberry Pi 3 devices for a single location beta test. The app is consumer facing and reads from a sensor so I am sure there are going to be at least 1 or 2 updates per week as we perfect the app. Everything I am reading says you can only achieve app updates from Windows Device Portal, Windows Store, or Azure.
Windows Device Portal works fine for local management/deployment right now but won't work remotely because the devices will eventually be installed all throughout the country behind different firewalls, etc. We don't want to have to keep up with customer firewall port forwarding.
Windows Store probably won't work because we don't want to have to wait for up to 48 hours for update approvals. Also not sure if Windows 10 IOT fully supports Windows Store yet.
I have not figured out how Azure IOT Hub manages app updates but I would really like to avoid having to use Azure if possible since we prefer to keep everything on our own servers and not pay cloud providers for stuff we can do on our own servers.
Has anyone figure out how to run a background service to download an app update and apply it?
I am just going to have to deal with Azure IOT Hub?

There is another option: Using OMA-DM.
Using OMA-DM: The app is updated using an OMA-DM compliant device
management channel such as Intune or System Center Configuration
Manager (SCCM)
The OMA-DM interface is supported in Windows 10 IoT Core and any
OMA-DM compliant management solution can be used to install and update
applications. Read the documentation for EnterpriseModernAppManagement
CSP for usage instructions.
NOTE: Some information of EnterpriseModernAppManagement CSP relates to prereleased product which may be substantially modified before it's commercially released.

You do need a type of (online/internet) service to connect to your IoT Core devices. Reference:
Microsoft Store: The app is published and updated from the Microsoft Store
Using Component Update Service: The app is published to Windows Update and updated like any other OEM package (driver package) Coming soon
Using Azure IoT Device Management: The app is published to Azure Storage and updated through the Azure DM channel New for Windows 10, version 1709
Using OMA-DM: The app is updated using an OMA-DM compliant device management channel such as Intune or System Center Configuration Manager (SCCM)
With Store, you'll be using the Microsoft Store service; Azure IoT Device Management will be using Azure IoT hub; OMA-DM can use Intune/SCCM or your own infrastructure (OMA-DM Server)

Related

Azure IoT Hub Package Update for Windows Service

I have a Windows based software written in C# as a BackgroundWorker class, communicating with Azure IoT Hub (bascially a remote control/management endpoint).
It runs as a Windows service.
I would like to leverage IoT Hub Device Update, for this Windows agent, using th Package Update method - and have it update the service with the released software.
I can see a tutorial for Ubuntu, but nothing for Windows and only mention of porting to other platforms - before i start going down a rabbit hole and implementing a Windows platform layer, looking for any examples/implementations for Windows specifically.
I'm a PM on the Device Update for IoT Hub team. In general, we intend Device Update for IoT Hub to be our first effort at bringing the kind of powerful update management capabilities that Windows already enjoys to the non-Windows (IoT) world. With a decade-plus of Microsoft investment in Windows update management already, our team's initial focus and investment for the DU offering, then, have been on Linux and RTOS variants for IoT specifically. For that reason, we don’t have a specific plan yet for Windows support in Device Update for IoT Hub.
However, the DU offering is flexible by design such that any devices connected to Azure IoT Hub can be updated by Device Update if the open-source DU Agent that we make available is ported to the OS running on those devices, and if the appropriate handler (installer) for the update type is also available on that device. That is something that could possibly unblock you if you were willing to do the porting work. We definitely hear feedback on the desirability of managing updates for both Windows and non-Windows IoT devices connected to Azure IoT Hub using a single stack and experience, and would be interested in hearing more details about your specific scenario.”

Test push notifications using Universal Windows App

I have been using this MSDN tutorial (Tutorial: Send notifications to Universal Windows Platform apps using Azure Notification Hubs) to test the notification hub. The issue is it is asking me to create an app in Windows Store for which I need to register for Microsoft developer and it seems to be paid service. I'm trying to find an alternative here to get Package SID and Security Key for Windows (WNS) settings to register for an Azure Notification Hub. Please suggest.
The Windows Dev Center requires an account with a one time payment as specified on the Register to be an App Developer page.

How to access Windows Azure ServiceBus Queue from the Windows Phone 8 application?

The documentation for WindowsAzure.Messaging.Managed states the purpose of the package as:
Use this with Windows Azure Service Bus and Notification Hubs client registration (for Windows Store and Windows Phone 8 apps). It adds Microsoft.WindowsAzure.Messaging.Managed.dll to your project.
Unfortunately, nowhere there is a clear description on how to access the Windows Azure ServiceBus Queues mechanism from a Windows Phone 8 app.
Is there any way, at all, to access ServiceBus Queues from a Windows Phone 8 app? And if there is, which package should allow that?
Azure Notification Hubs provide all-features SDK for .Net (desktop) and device-only-features (registration management) SDKs for WP, WinRT, Android and iOS.
Azure Service Bus all-features SDK is only for .Net (desktop). But it is possible to use REST API to access basic queue/topic functionality from any platform which supports HTTP including Widows Phone.
There is a new library that works with Windows 10, Windows 8 and many more
http://www.nuget.org/packages/AzureSBLite/ I have tested on Windows 10 and works both. Apart includes several great examples: https://github.com/ppatierno/azuresblite-examples

Cannot enable Azure Connect in Management Portal

I am new to Windows Azure platform and I am trying to set up Azure Load test. I have already set up Storage account, hosted service and Virtual Network. However, I cannot find Connect tab under Networks -> Virtual Network. The prerequites i.e. Windows Azure SDK and Windows Azure Tools for VS 2010 have been installed. My local machine OS is 64 bit Windows 7.
You must use the previous Management Portal to manage Connect VPNs. The new Management Portal cannot yet manage them. It's under "Virtual Network" tab in there. Also, this CTP must be enabled for your subscription(s) or it may not be present in the portal.
First of all Azure Connect is still in Preview and there is no significant improvements in this component for over a years so I would suggest not to use it.
If you really want to see Windows Azure Connect, it is only available in older portal so please go to older portal to see it.

Window Azure vs Citrix Xenapp

Current my company delivers our software to our customers through a Citrix Xenapp Server. As administrators we are able to launch instances of the servers and our customers are only able to launch their specific application
My Question is does Windows Azure also offer this type of environment. I am looking to deploy a new version of our application and I am leaning towards Azure, but if that is the direction we go in I would like to migrate all of our existing system to Azure and not maintain both Azure and Citrix.
Greg,
In principle yes you can do this, but you can't just plug in Azure as a direct replacement for XenApp (with zero/minimal effort). Azure effectively has it's own runtime. While it is Windows based and there is certainly potential to reuse code in an existing app in an Azure equivalent, you would need to re-write your app to make it run in Azure.
Given your app is running on XenApp it is likely it is a fat client app, i.e. most of its logic lives in the main executable that you run on XenApp, with potentially some other back end services being utilised. In comparison you should think of Azure as a platform for providing web apps. So you would re-architect the app as an Azure hosted web app, then you could deploy it via Azure in a multi-tenanted manner to your customers who would then access it through a browser rather than a Citrix Receiver.
Regards,
Donovan

Resources