Windows 10 IoT Core
What is Windows 10 IoT Core?
Windows 10 IoT Core is a version of Windows 10 that is optimized for smaller devices with or without a display that run on both ARM and x86/x64 devices. The Windows IoT Core documentation provides information on connecting, managing, updating, securing your devices, and more.
To get started with Windows 10 IoT Core, we've created a Windows 10 IoT Core Quickstarter to help you get familiar with the platform quickly.
From there, you can continue to experiment with the platform by developing your own application or start making plans to bring your device to market, or commercialize your device. To get started with commercializing, see the Bring a device to market section in the Get started article.
Differences between Windows 10 Desktop and Windows 10 IoT Core
Different features available on Desktop and IoT Core
- Inbox Cortana is no longer available on Windows 10 IoT Core since version 1809 (17763). If you are looking to bring a voice-enabled device to market quickly, you can integrate Cortana support into the device using the preview of the Cortana Devices SDK.
- The FileOpenPicker API is not supported in Windows 10 IoT Core. To access local drives or removable storage, you can implement this in your own application.
- The Windows 10 IoT Core device will boot to the default app instead of a desktop-like PC. The purpose of this application is not only to provide you with a friendly shell to interact with upon first boot, but to also allow you to use the open-sourced code for this application so that you can use these features to plug and play your own custom application(s).
Differences in driver-supported areas
- Windows 10 Desktop has more supported drivers than Windows 10 IoT Core. To make the same device(s) work on Windows 10 IoT Core as on Desktop, you may need to build a driver from soruce for a Windows 10 IoT Core device or find another workaround, especially for ARM architecture.
- There is no out-of-the-box driver for libusb for Windows 10 IoT Core (ARM) - you will need to build from source to target the ARM architecture.
Differences in available registry set
- On desktop, there is an option to "Automatically hide scroll bars in Windows" that can be set to off. It is controlled by the following registry entry:
- There is no such registry on Windows 10 IoT Core devices by default. You will need to add a "Dynamic Scrollbars" register if you want.
- To enable hide scroll bars automatically in a UWP application, you can add the "DynamicScrollbars" register and set the value to "1" like this:
REG ADD "HKCU\Control Panel\Accessibility" /v DynamicScrollbars /t REG_DWORD \d "1"
- The registry key must be set from the Default Account. If the ScrollViewer's XAML setting is "Visible", the nthe registry setting of 0 will force the scroll bar to appear regardlss of whether there is sufficient content to have the scroll appear in the UI. A registry setting of 1 will keep the scroll bar hidden until there is sufficient content.
<TextBox Height="200" Width="100" IsEnabled="True" FontSize="50" TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Visible" Text="..."/>
- Lastly, if the ScrollViewer XAML's setting is "Auto" then the registry setting of 0 will only show the full scroll bar when there is enough content to display the scroll bar. When the registry setting is 1, the scroll bar will appear then when there is enough content or hidden if there is no content.
<TextBox Height="200" Width="100" IsEnabled="True" FontSize="50" TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Auto" Text="..."/>
Different commands supported
- The PowerShell Remove-AppxPackage command works on Dekstop but not on Windows 10 IoT Core.
- Not all folders on your device are accessible by Universal Windows Apps. On Windows 10 IoT Core you can use the FolderPermissions tool to make a folder accessible to a UWP app. For example, run FolderPermissions c:\test -e to give UWP apps access to c:\test folder. However, this is not available on Desktop.
All differences described in this post may not be valid in the future because Windows 10 IoT Core is constantly being updated.
Read our documentation to learn more about Windows 10 IoT Core.