Difference between Windows 10 Desktop and Windows 10 IoT Core RRS feed

  • General discussion

  • The following are information we collected from issues on Stack Overflow and MSDN forum that customer found there are some difference when developing apps on Windows 10 Desktop and IoT Core. Share these differences here to help you to solve the same issue you have. 

    Different features available on Desktop and IoT Core

    • In-box Cortana is no longer available on IoT Core since version 1809(17763). If you looking to bring a voice-enabled device to market quickly can integrate Cortana support into their device using the preview of the Cortana Devices SDK.

    You can refer tothis thread for more detailed information.

    • FileOpenPicker API is not supported on IoT Core. To access local drives or removable storage you can implement in your own application.

    You can refer tothis thread for more detailed information.

    • 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 when you first boot up Windows 10 IoT Core, but we have open-sourced the code for this application here so that you can plug and play with these features on your own custom application(s).

    You can refer to "How to boot to OS/Shell in Windows 10 IoT Core?" for more detailed information.

    Different at driver supported area

    Desktop have much more drivers supported than IoT Core. To make the same device works on IoT Core as on Desktop you may need build driver from source for Windows IoT Core device or find other workaround, especially for ARM architecture.

    • There is no out of box driver of libusb for Windows IoT Core, ARM, you need build from source to target ARM architecture.

    You can refer to  "How to install libusb-Win32 host driver into Windows IoT on Raspberry PI" for more detailed information.

    • GPS sensor USB device (u-blox) is recognized and used by the UWP Location API on Desktop automatically but not works on IoT Core device that there is no related USB driver supported.

    You can refer to "Windows IoT Core Native support for GPS sensors" for more detailed information.

    Different at registry set available

    There are some registry sets are not available on IoT Core.

    • 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: HKEY_CURRENT_USER\Control Panel\Accessibility. But, no such registry entry on IoT Core device by default. You need add a "DynamicScrollbars" register if you want.

    To enable hide scroll bars automatically in UWP application, you can add "DynamicScrollbars" register and set the value to "1" like this:

    REG ADD "HKCU\Control Panel\Accessibility" /v DynamicScrollbars /t REG_DWORD /d "1"

    The following test has done on version 17763.

    When I set the registry key to 0, a scroll viewer appeared. When I set the registry key to 1, the scroll viewer disappeared.

    Note that the registry key must be set from the DefaultAccount. (You can do it from device portal -> Run Command and make sure you have the "Run as DefaultAccount" checked.) Otherwise HKCU will be the administrator and that will not have an effect on the UI. 

    Also, note that if the ScrollViewer's XAML setting is "Visible" then the registry setting of 0 will force the scroll bar to appear regardless of whether there is sufficient content to scroll 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 thin when there is enough content, or hidden if no content.

    <TextBox Height="200" Width="100" IsEnabled="True" FontSize="50" TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Auto" Text="..."/>

    You can refer to "Disable automatically hiding scrollbars in Windows 10 IoT Core" for more detailed information.

    Different commands supported

    • PowerShell Remove-AppxPackage command works on Desktop but not work on IoT Core.

    You can refer to "Issue with Remove-appxPackage with allUsers options" for more detailed information.

    • Not all folders on your device are accessible by Universal Windows Apps. On IoT Core you can use 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.

    You can refer to "Set folder permissions for UWP apps" for more detailed information.

    All differences showed in this post may disappear as time goes on because Windows 10 IoT Core is keep updating. There must be some other difference besides these ones so welcome to share your discovery here.

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact

    Wednesday, January 9, 2019 8:00 AM