Building Universal Applications
UWP is the primary focus for application development on Windows 10 IoT Core Insider Preview. The full
range of UWP languages/frameworks are supports include C++, C#, VB.Net, JS, XAML, HTML, and
DirectX. For headed devices a single UI app can be installed and this UI app owns the entire UI
experience for that device.
In addition to the UI app and existing Windows background task types, Microsoft is introducing “IoT
Background Service” applications that can contain StartupTasks. Any number of these StartupTasks may
be installed and they launch at boot, and they will be auto-restarted by the shell watch-dog if they exit
unexpectedly. In addition to their ability to start at system boot, without a UI app registering them, these
tasks are unique in that they are allowed to execute forever without resource management constraints.
This enables the common patterns in the IoT world where there are continuously running apps
monitoring the device and sensors, processing and reporting data, and controlling external devices.
New UWP Supported Languages and Frameworks
In addition to supporting the traditional UWP languages and frameworks, Microsoft is expanding
support for those that are favored by the IoT community. These are Python, Node.js, and Wiring
platforms that run in UWP and deliver the development experience expected and desired by these
communities. This support will come in the form of extensions to the Python Tools for Visual Studio and
Node.js Tools for Visual Studio packages as well as a new one for Wiring. The application code
developers write will be almost identical (except for native extensions) and will have the same remote
tooling experience all other UWP apps have.
More information on supported languages and frameworks can be found on the Windows Software Dev
Center at http://dev.windows.com/en-us/iot
In addition to supporting IoT scenarios by introducing new application types, Windows IoT Core includes
include a broad range of WinRT APIs to support important IoT scenarios. These APIs fall into three basic
Device and Bus Access
APIs for controlling devices attached through common IoT busses
Supported now: GPIO, SPI, I2C, UART, Serial
APIs for communicating with between apps on different machines and on the same
Examples: “Application Services” allows different applications on the same machine to
easily communicate with each other while the Windows 10 Alljoyn APIs make it easy to
talk to any devices that support the Alljoyn protocols
Read PDF in Web Image Viewer| Online Tutorials
from PDF documents; Extract images from PDF documents; Add, reorder pages in PDF files; Save and print PDF as you wish; More PDF Reading how to change page order in pdf acrobat; how to move pdf pages around
As there is no longer a visible shell on the machine, developers need to be able to take
over some of the OS administration APIs that users usually get by interacting with the
Windows shell. Windows 10 IoT Core Insider Preview includes APIs to give this control to
apps on these IoT Devices
Examples: Wireless network password setting, system time zone, power management
All of the security sensitive APIs being added will be protected behind the existing capability
infrastructure. Individual apps on IoT Devices will be able to request and get these capabilities, but apps
that do not do so will run with the same level of sandboxing they would have on any other OS edition.
This approach expands the capabilities of apps on these devices while still maintaining security and
making it easy to prioritize security reviews for the applications that have these extended capabilities.
Visual Studio 2015 will be the primary development tool for Windows 10 IoT Core Insider Preview
application development. UWP applications will be built with the same project templates and tools used
for all other UI based UWP apps. Additional templates have been added to make it very easy to build IoT
When configuring a project you can choose to debug the app either locally or on a remote machine.
Local development can be used for applications that are UI only and don’t have direct device
dependencies. Other applications will use the same remote development tools used for mobile/phone
application development and will have the same seamless F5 deploy/launch/debug experience.
Windows Assessment and Deployment Kit (ADK)
The Windows® Assessment and Deployment Kit (Windows ADK) is a collection of tools that you can use
to customize, assess, and deploy Windows operating systems to new computers. Information on
downloading the Windows ADK as well as documentation about how to use the Windows ADK tools are
available on the Windows Hardware Dev Center at
Image Configuration Designer (ICD)
You can build a customized Windows 10 IoT Core Insider Preview image using the new Windows
Imaging and Configuration Designer (ICD) tool. The tool allows you to add new drivers, Applications as
well as custom settings or policies to an existing Windows IoT Core image and create a new deployable
customized image from it. The tool will provide common mechanism and interface for image
customization for all Windows 10 Editions. For RTM you will also be able to use the tool to create
provisioning packages that can be applied to devices that have already been imaged without needing to
re-image. The Windows ICD tool ships as part of the Windows Assessment & Deployment Kit (ADK). You
will also need to download the Unified Windows Driver Kit (WDK) from the Windows Hardware Dev
Center at https://msdn.microsoft.com/en-us/windows/hardware/dn859155.
Windows 10 IoT Core Insider Preview is a new UWP based OS and as a result is very limited backward
compatible with applications built with Windows CE or Windows Embedded. However, a large number of
the APIs, Win32 and .Net, which these applications will have used are present on Windows IoT Core and
available to applications. These apps can either be left as classic Win32 or .net apps or migrated to UWP.
UI apps will need to be migrated as the only UI frameworks on Windows IoT Core are the UWP UI
Migration tools will be provided in upcoming releases that will analyze existing app binaries and provide
reports indicating which API calls will need to be removed/changed in order to work property on UWP
and Windows IoT Core.
Setting up your device & First Steps
Included in the Windows 10 IoT Core is a set of tutorials that include setting up your development
environment, flashing the device with Windows IoT Core and have a number of code samples to get you
started developing on Windows IoT Core. Start with the index.htm file in the Docs folder of your
Windows IoT Core release.
Remote Device Management
You can remotely configure and manage any Windows 10 IoT Core Insider Preview device using
Windows PowerShell. PowerShell is a task-based command-line shell and scripting language, designed
especially for system administration.
.NET Multipage TIFF SDK| Process Multipage TIFF Files
SDK, developers are easily to access, extract, swap, reorder, insert, mark up and delete pages in any multi upload to SharePoint and save to PDF documents. reorder pages in pdf reader; how to move pages within a pdf
Initiating a Remote PowerShell (PS) session
To start a PS session with your Windows 10 IoT Core Insider Preview device, you’ll first need to create a
trust relationship between your host PC and your device. After booting your Windows IoT Core device,
an IP address will be shown on the screen attached to the device. Next, launch an administrator PS
console on your local PC and type the following:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value [IP Address]
Enter Y to confirm the change.
Note: [IP Address] should be replaced with the IP address shown on the display attached to
Now, you can start a session with you Windows IoT Core device. From you administrator PS console,
enter-pssession –computername [IP Address] -credential Administrator
In the credential dialog enter the following default password: p@ssw0rd (We recommend that
the default password on the devices is changed as soon as possible.)
Note: [IP Address] should be replaced with the IP address shown on the display attached to your
Commonly used utilities
Below is a list of common configuration tasks and corresponding utilities that have been made available
Update account password:
It is highly recommended that you update the default password for the Administrator account.
To do this, you can issue the following command: net user Administrator [new password]
where [new password] represents a strong password of your choice.
Create local user accounts:
If you wish to give others access to your Windows 10 IoT device, you can create additional local
user accounts using PS by typing in net user [username] [password] /add. If you wish to add
this user to other groups, such as the Administrator group, use net localgroup Administrators
Query and set device name:
To identify your current device name, simply type hostname. To change the name of your
Windows 10 IoT device, type SetComputerName [new machinename]. You may need to
restart your device for the name change to take effect.
Basic network configuration:
Many of the basic network configuration utilities you may already be familiar with are available in
Windows 10 for IoT, including commands such as ping.exe netstat.exe, netsh.exe, ipconfig.exe,
nslookup.exe, tracert.exe and arp.exe.
Microsoft is providing familiar tools, including sfpcopy.exe as well as xcopy.exe.
To view currently running processes, you can try either get-process or alternatively tlist.exe. To
stop a running process, type kill.exe [pid or process name]. To start a process,
Setting startup app:
Use the startup editor to configure startup apps on your Windows 10 IoT device. To see a list of
current startup apps, type startup.exe /d. To add an app to startup, type startup.exe /a
[Name] [Command]. For further help, try startup.exe /?
Headless vs. headed boot:
Windows 10 IoT devices can be set to headed (when display capabilities are required) or
headless (when a display is not required or available) device mode. To change this setting, use
setbootoption.exe [headed | headless].
To view the current list of scheduled tasks, use the schtasks.exe command. You can create new
tasks with the /create switch or run on-demand tasks with the /run switch. For a full list of
supported parameters, use schtasks.exe /?
The device console utility is useful in identifying and managing installed devices and drivers. For
a full list of parameters, use devcon.exe /?
If you need to access the registry to view or modify settings, use the reg.exe /? Command for
the full list of supported parameters.
Managing Windows services can be accomplished via the net.exe command. To see a list of
running services, type net start. To start or stop a specific service, type net [start | stop]
[service name]. Alternatively, you can also use the service control manager via sc.exe
You can make changes to the boot configuration of your Windows IoT Core device using
bcdedit.exe. For instance, you can enable testsigning with bcdedit –set testsigning on
To shut down your device, type shutdown /s /t 0. To restart the device, use the /r switch instead
with the command shutdown /r /t 0.
Securing your device with a TPM 2.0
Trusted Platform Modules (TPMs) bring enhanced security to the world of IoT. This widely adopted,
industry standard provides numerous security benefits, including a trusted execution environment,
strong cryptographic identity and the secure storage and management of keys and sensitive assets –
traits that are highly desirable in IoT-class devices.
In Windows IoT Core, Microsoft will support firmware TPM as well as discrete TPM2.0 implementations
over the currently supported LPC interface as well as SPI and I2C buses for IoT devices. Additionally, in
order to facilitate development and provide a full set of tools to developers, Microsoft will make available
a TPM2.0 software simulator* that can be leveraged during the development cycle on devices that do not
have a firmware or discrete TPM implementation.
* Important Note: The TPM simulator is only a development aid. It provides absolutely
NO security functionality and should never be thought of or used as a replacement for a
firmware-based TPM or a discrete TPM solution.
Getting started with a discrete TPM module or TPM-
You may wish to try out test modules currently available from select TPM manufacturers or enable the
TPM simulator in Windows 10 IoT Core Insider Preview. To do this, first, you’ll need to enable test
signing on your device. Initiate a remote PowerShell session to your Windows IoT Core device and once
logged-in, run the following command to enable test signing:
bcdedit –set testsigning on
Next, you’ll need to get the appropriate ACPITABL.DAT files for the corresponding TPM you wish to use.
Download the complete set here and unzip.
Copy the TPM’s corresponding DAT file onto your device under \Windows\System32:
Rename above filename to ACPITABL.DAT and reboot device
Your TPM is now initialized and ready for use.
Shell Configuration Details
Background and Detail
As Windows IoT Core will be a custom, fixed purpose device rather than a consumer PC, the user
experience and user interface is expected to be defined and implemented by the OEM/device creator.
On an in-car entertainment unit for example there may be some buttons on the device as well as UI on
the screen allowing the user to do things like control the CD player, set FM stations, provide navigation
functionality, etc. but that user experience will have little resemblance to what we know of as the
consumer Windows experience.
Some devices in fact will have NO visible UI on a video monitor at all – a wireless access point is a great
example of that where the device provides ongoing functionality without user intervention and any user
interaction is remote through an HTML experience in the users browser. In both cases Windows IoT Core
has to provide the APIs and services to allow the OEM/device maker to create the user experience for
their device and to manage the applications and services for the device.
In Windows IoT Core scenarios OEMs may prefer to have no visible Windows or Microsoft presence. As
such, Windows IoT Core will not include the Windows shell or any inbox applications and OEMs will
create the entire end-to-end experience for their device using the tools and features provided for use
with all Windows 10 editions, including Windows IoT Core.
IoT Core shell will allow an OEM/Maker to take complete control of their device experience while
aligning with “lock-down” features on other versions of Windows. Here is a comparison of lock-down
features and how IoT Core aligns:
Restrict a user account to access a single app
(on PC/RT) or a set of apps (on Handheld).
Users cannot access additional system
functionality beyond the intended purpose
of the device, which may include switching to
other apps, viewing the start screen,
receiving system notifications, etc…
IoT Core shell functionality is minimal for
End user experiences are implemented by the
Turns off Task manager, Lock screen, Camera,
Accessibility Options, Hides power buttons
on the welcome screen
Not needed for IoT Core since no system controls
are visible to users.
Documents you may be interested
Documents you may be interested