How do device updates work on Windows Iot devices
I have a need to run some custom code on up to 50+ windows machines in a manufacturing floor. The code for all machines would be the same, and will need to communicate with some hardware peripherals as well as communicate with the cloud via IoT Hub.
I am not worried about connecting or communicating with the IoT Hub. This is code we have already written and I am confident in getting this running correctly. The machines are already licensed with Windows 10. The code will likely be a python file or C# application that will interface with peripherals and send data to the IoT hub via messages.
I want to ensure that we can deploy the code to all machines at once, efficiently and reliably. Since we want to use IoT Hub, I am looking into how to accomplish device update deployments using Azure. My questions are about how the device proceeds to update itself once it receives the update from the cloud.
I have done enough research to see that it should be possible, and that it should be relatively easy to do (with the samples found here: https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/deviceupdate), but I am failing to understand the following:
- What will a windows IoT update look like - new C# files or executables?
- How will the new update get run instead of the current one? Will the machine have to restart itself?
- Is there a better/cleaner way to accomplish this - should we consider the IoT version of Windows?