Windows and Windows Mobile can be configured to allow embedded mode. Embedded Mode enables
Embedded mode is only enabled by default on Window IoT Core and must be enabled on standard Windows and Windows Mobile.
Background Applications are created using the Background Application (IoT) template in Visual Studio. For more information about the Background Application (IoT) template see Windows IoT Core Project Templates.
Background applications run without stopping and have no resource limits enforced by resource manager. Also, if the background application stops for some reason and embedded mode is enabled the background application will be restarted by the system.
While the system will automatically restart background applications, system lockdown features must be enabled to prevent users from stopping or interfering with the operation of Background Applications.
The lowLevelDevice Capability (only on IoT Core) gives access to low-level hardware interfaces like GPIO, SPI, and I2C.
When you enable the systemManagment capabilities for your appliction this is the set of APIs that gets unlocked:
If you are debugging on a device that is not running Windows IoT Core and you see either of the following error messages you need to ensure AllowEmbeddedMode is enabled on the device and that the Embedded Mode service is running:
To enable embedded mode you will need to create a provisioning package in Imaging and Configuration Designer (ICD) that sets AllowEmbeddedMode=1. To install ICD you need to download and install the Windows ADK for Windows 10.
After installation is complete run Windows Imaging and Configuration Designer (WICD).
Click Advanced provisioning. Name the project AllowEmbeddedMode and click Next.
Choose Common to all Windows editions then Next
In the search box type EmbeddedMode and then click on AllowEmbeddedMode
In the center pane set the value of AllowEmbeddedMode to Yes
Click Export>Provisioning Package
To configure a Background Application to automatically run you will need to follow the directions to create an MinnowBoardMax SD Card and copy D:\windows\system32\iotstartup.exe (where D: is your SD Card).
To get a list of installed Background Applications type:
C:\> iotstartup list BackgroundApplication1
The output should include the full name of each installed Background Application, which will look like this:
Headless : BackgroundApplication1-uwp_184.108.40.206_x86__cqewk5knvpvee
To configure this app to run at boot type:
C:\> iotstartup add headless BackgroundApplication1
If the Background Application has been successfully added to the startup list you should see this:
Added Headless: BackgroundApplication1-uwp_220.127.116.11_x86__cqewk5knvpveeplication1
Restart the embedded mode device:
Once the device has restarted, your Background Application will start automatically. The Embedded Mode service which manages Background Applications can take a few minutes to start. The embedded mode service will monitor Background Applications on the startup list and make sure they get restarted if they stops. If a Background Application stops several times in a short period of time it will no longer be restarted.
To remove your Background Application from the startup list type:
C:\> iotstartup remove headless BackgroundApplication1
If the Background Application is removed from the startup list the output will look like this:
Removed headless: BackgroundApplication1-uwp_18.104.22.168_x86__cqewk5knvpvee