Starter Guide for Windows® 10 IoT Enterprise 2nd Edition



Print Price: $74.95



 

By Sean D. Liming and John R. Malin

Windows® 10 IoT Enterprise is a special version of Windows 10 designed for OEMs to build IoT/Embedded Systems. To help to create custom images, the Windows® System Image Manager (SIM) tool allows PC Manufacturers, IT Managers, and IoT/Embedded Developers to automate the installation of Windows operating systems. SIM allows developers to install applications, device drivers, and Windows updates along with the Windows operating system. The ability to automate operating system installation helps to remove any human error that can occur with manual installation. The ability to maintain and support many platforms over a long life-cycle is also an important asset in today’s ever-changing technology. To perform all these tasks, a solid workflow to develop the image from the ground up is important. This 2nd edition dives deeper into the development process.

Development Workflow – A development process that has been in use since Windows XP Embedded and evolved over the different Windows Embedded releases. The development workflow provides the best-known steps to create and maintain a custom image using System Image Manager.

Security – Windows security features and terminology have changed since Windows 10 was first released. The current security features are discussed in clearer detail and integrated into the larger lockdown.

Synchronous commands scrips – SIM doesn’t have a setting for everything. The downloads for the book contain some of the popular scripts for custom settings such as audio volume level, sticky keys, network IP setup, hide the taskbar, and visual effects.

Other tools – the book covers the Shell Launcher, UWF, and Key Filter utilities from Annabooks, as well as, other tools for partitioning disks and setting Group Policy.

Footprint reduction – various tips to help reduce the image footprint for systems that have smaller drive space are discussed.

Performance – discover how to get the best performance out of the system.

Low-Speed Bus API – creation applications that access GPIO, SPI, I2C, and UART is presented.

There are 17 chapters with hands-on exercises to focus on the workflow and specific features. The final chapter pulls all the topics together to walk through the workflow to create a weather station device that sends data to Azure IoT Central.

 

Book Details

eBook Edition
Publisher: Annabooks (October 2022)
Language: English
ISBN-13: 979-8-9854172-1-0

Printed Edition
Publisher: Annabooks (October 2022)
Language: English
ISBN-13: 979-8-9854172-0-3

 

 Addendums

As Windows keeps evolving, we continue to provide update and new technical information:

 

Software and Hardware Requirements

Development system with Windows® 10 21H2 or Windows 11

Windows ADK for Windows 10 or Windows ADK for Windows 11



 

Downloads:

Book Files - Zip file contains files for use with exercises.


Errata

Page 134: Step 25 should read "Repeat steps 22 through 24..."
Page 155: Steps 2 and 4 \DS1\ should be \DS64\
Page 159: Step 26 \DS1\ should be \DS64\ Page 166: Step 15 The command should be "UWFMGR overlay set-persistent on"
Page 226: Step 9 The application name is "AB-WinPE-App.exe"


 

Table of Contents:

 
 

1    START HERE
1.1    WINDOWS 10: ANOTHER NEW DIRECTION FOR MICROSOFT AND IOT
1.2    WINDOWS XP EMBEDDED AND WINDOWS EMBEDDED STANDARD 7
1.3    WHAT ABOUT WINDOWS 11?
1.4    ABOUT THE BOOK
1.5    DEVELOPMENT MACHINE AND SOFTWARE REQUIREMENTS
1.6    TARGET HARDWARE REQUIREMENTS: CHOSE THE CORRECT TARGET HARDWARE THAT ADDRESSED PERFORMANCE AND SECURITY
1.7    THE LICENSE AND ACTIVATION STORY
1.7.1    Getting Signed Up with the CLA
1.7.2    Runtime key and Activation
1.8    THREE THINGS TO KEEP IN MIND – DON’T SAY I DIDN’T WARN YOU
1.8.1    Application Development – Go with .NET 6, UWP IS DEAD!
1.8.2    Windows is not for Everyone – Linux versus Windows
1.8.3    Microsoft’s Manufacturing Guide versus the My Recommended Workflow
1.9    SUMMARY: STAY ON THE RIGHT PATH

2    SIM AND THE DEVELOPMENT WORKFLOW FOR INTEL ARCHITECTURE
2.1.1    High-Level Overview
2.2    EXERCISE 201: INSTALLATION OF THE ADK WITH SIM OPTION AND GENERATION OF A CATALOG FILE
2.2.1    ADK Install
2.2.2    Create Catalog
2.3    THE BASICS PART 1: GATHER ITEMS FROM TARGET INSTALLATION
2.3.1    Exercise 202: Capture Drivers and Create a Distribution Share
2.4    SIM INTERFACE OVERVIEW
2.5    INSTALLATION PASSES AND THE ANSWER FILE
2.6    COMPONENTS AND THE PASSES: PRESET INSTALLATION ANSWERS
2.7    THE DISTRIBUTION SHARE
2.7.1    $OEM$ Folders
2.7.2    Out-of-box Drivers
2.7.3    Packages
2.8    THE BASICS PART 2: CREATE DISTRIBUTION SHARE AND ANSWER FILE
2.8.1    Exercise 203 Create and Set Up the Distribution Share
2.8.2    Exercise 204: Create a New Answer File
2.8.3    Look inside the Answer File
2.9    THE BASICS PART 3: PASS 7 SYNCHRONOUS COMMANDS
2.9.1    Other Pass 7 Synchronous Commands for Either Answer File
2.10    THE BASICS PART 4: TEST THE BASICS
2.10.1    Exercise 205: Create the Bootable USB Flash Disk Using Rufus
2.10.2    Exercise 206: Build the Configuration Set
2.10.3    DVD/ISO Deployment
2.11    MULTIPLE PROJECTS
2.12    BUILDING ON THE BASICS
2.13    ADD LOCKDOWN FEATURES: ARCHITECT THE OS
2.14    SYSPREP FOR PRODUCTION – YOU MUST SYSPREP FOR MANUFACTURING!!!!!!
2.14.1    Sysprep Command
2.14.2    Audit Mode for Baseline Images
2.14.3    Yes, You Must Sysprep
2.14.4    Exercise 207: Create a Sysprep Unattended Answer file and Run Sysprep
2.15    MASTER IMAGE
2.15.1    Exercise 208: Capture, Apply, and FFU
2.15.2    Activation and Production Questions
2.16    EXERCISE 209: VOLUME ACTIVATION MANAGEMENT TOOL (VAMT)
2.17    SUMMARY: HORSE MEETS WATER

3    SYSTEM PERFORMANCE   
3.1    CHOICE OF APPLICATION TYPE
3.2    OPTIMIZE .NET APPS WITH NGEN.EXE AND CROSSGEN.EXE
3.3    EXERCISE 301: CREATE A CUSTOM POWER PLAN
3.4    PERFORMANCE OPTIONS AND REGISTRY KEYS
3.5    WINDOWS SERVICES
3.6    SCHEDULED TASKS
3.7    SUMMARY: MAKE THE SYSTEM AN APPLIANCE AND TWEAK PERFORMANCE

4    REAL-TIME SUPPORT
4.1    WHAT IS REAL-TIME?
4.1.1    Hard Real-Time, Soft Real-Time, and Determinism
4.2    SPLIT SYSTEM
4.3    INTERNAL WINDOWS SOFT REAL-TIME SUPPORT- NEW
4.4    TENASYS® INTIME® FOR WINDOWS®
4.5    SUMMARY: REAL-TIME APPLICATIONS ARE POSSIBLE

5    FOOTPRINT REDUCTION   
5.1    THE VALUE OF COMPONENTIZATION
5.2    IMAGE SIZE COMPARISON
5.3    THE COMPLEXITY OF COMPONENTIZATION
5.4    HOW DID WE GET HERE?
5.5    REDUCTION POWERSHELL SCRIPT FOR CORE OS
5.6    REMOVE OPTIONAL PACKAGES
5.7    OTHER DISK IMAGE SIZE TRICKS
5.7.1    Disable Features
5.7.2    Turn off Hibernation and Disable Virtual Memory
5.7.3    Remove a copy of the Windows custom installer   
5.7.4    Compact OS
5.7.5    Clean up Windows Update
5.7.6    Remove WinRE Partition
5.8    EXERCISE 501: MINIMIZING THE WINDOWS 10 IOT ENTERPRISE LTSC 2021 FOOTPRINT
5.9    EXERCISES 502: IMPLEMENTING A REMOVAL SCRIPT
5.10    SIZE MATTERS

6    LOCKDOWN PART 1: USER EXPERIENCE
6.1    DEVICE LOCKDOWN FEATURES
6.2    BOOTUP SCREENS
6.2.1    BIOS Splash Screen
6.2.2    Microsoft-Windows-Embedded-BootExp Component
6.3    LOGIN SCREEN
6.3.1    Microsoft-Windows-Embedded-EmbeddedLogon Component
6.3.2    Custom Logon / Lock Screen Background Image
6.3.3    Autologon
6.4    SHELLS – FINAL APPLICATION TO RUN ON STARTUP
6.4.1    Shell Launcher V1
6.4.2    Shell Launcher V2 (Avoid this version)
6.4.3    Custom Shell Notes – Windows without Explorer.exe as the Shell
6.5    EXERCISE 601 – CREATING A BRANDED IMAGE
6.6    MULTI-MONITOR AND SCREEN ROTATION
6.7    MANUFACTURING – WHEN TO ENABLE SHELL LAUNCHER IN THE IMAGE
6.8    SUMMARY: FIRST IMPRESSIONS

7    LOCKDOWN PART 2: UWF AND KEYBOARD FILTER
7.1    UNIFIED WRITE FILTER (UWF)
7.1.1    UWF Architecture
7.1.2    Application File I/O Interaction with UWF
7.1.3    Registry Filtering
7.1.4    Hibernate Once, Resume Many (HORM) – Not Worth It
7.1.5    Enable UWF in SIM and UWF Settings
7.1.6    Managing UWF – UWFMGR and WMI
7.1.7    Common Write-Through Section
7.1.8    UWF Servicing
7.2    MITIGATING SUDDEN POWER-OFF ISSUES
7.3    KEYBOARD FILTER
7.4    EDGE GESTURES DISABLE
7.5    TOAST MESSAGE DISABLE
7.6    EXERCISE 701: UNIFIED WRITE FILTER AND KEYBOARD FILTER
7.6.1    Part 1: Create the Answer File and Build the Configuration Set
7.6.2    Part 2: Testing UWF Registry Filtering
7.6.3    Part 3 Testing UWF File/Folder Filtering
7.6.4    Part 4 Testing the Keyboard Filter
7.7    ARCHITECTURE: WHEN TO ENABLE THESE FEATURES
7.8    SUMMARY: DRIVE C AND KEYBOARD HOT KEYS



8    LOCKDOWN PART 3: SECURITY
8.1    WINDOWS SECURITY EVOLUTION
8.2    HARDWARE AND FIRMWARE
8.3    WINDOWS FIREWALL SETTINGS AND POLICY FILE
8.4    ANTIVIRUS SOFTWARE
8.5    CUSTOM SECURITY TEMPLATE
8.6    CUSTOM GROUP POLICIES
8.7    EXERCISE 801 – CREATING AND IMPLEMENTING CUSTOM SECURITY SOLUTIONS
8.7.1    Part 1: Creating a Custom Security Template
8.7.2    Part 2: Group Policy Settings
8.7.3    Part 3: Create Answer File and Deploy and Test the Image with the Security Policy
8.8    DRIVER BLOCKING: GROUP POLICY: DEVICE INSTALLATION RESTRICTIONS (DIR)
8.8.1    Top Level Policies
8.8.2    Control by Device ID
8.8.3    Control by Device Class
8.8.4    Other Policy Settings
8.8.5    Scenarios and Setup
8.9    TPM CHIP
8.10    BITLOCKER
8.11    SECUREBOOT, UEFI, SECURELAUNCH
8.12    HYPERVISOR-PROTECTED CODE INTEGRITY (HVCI)
8.13    DEVICE GUARD (SECUREBOOT, SECURE LAUNCH, HVCI/DG/CG) AND THE CREDENTIAL GUARD READINESS TOOL
8.13.1    Enable with Group Policy
8.13.2    Enable with Registry Keys
8.13.3    Check and Enable with Windows Defender Device Guard and Windows Defender Credential Guard Readiness Tool
8.14    EXERCISE 802 – DEVICE GUARD READINESS TOOL
8.14.1    Check the System
8.14.2    Enable Disabled HVCI/DG/CG
8.15    COMPLETE WINDOWS BOOT PROCESS
8.16    WINDOWS DEFENDER APPLICATION CONTROL (WDAC)
8.16.1    WDAC Policy File
8.16.2    Warning! PowerShell Language Modes, UWP, and Shell Launcher V2 Bridge Script Issues
8.17    EXERCISE 803: WDAC POLICY CREATION AND TEST
8.18    BIOSECURITY ACCESS
8.19    SECURITY FROM THE CLOUD FOR THE END CUSTOMER
8.20    SUMMARY: HOW MUCH DO YOU LOCK DOWN?

9    UPDATES AND IMAGE SERVICING
9.1    SERVICING PLAN: ARCHITECTURE, ARCHITECTURE, … ARCHITECTURE!
9.2    UPDATE SOLUTIONS
9.3    UWF SERVICING MODE
9.4    DISABLE WINDOWS UPDATE: CONTROL THY SYSTEM
9.5    GETTING WINDOWS UPDATES TO CREATE A SYSTEM PATCH
9.6    WINPE
9.6.1    WinPE Optional Components
9.6.2    Dual boot with Windows and WinPE
9.7    EXERCISE 901: CUSTOM WINPE
9.8    SUMMARY: DON’T FORGET SERVICING

10    RHPROXY AND LOW POWER I/O   
10.1    THE BACK STORY
10.2    RESOURCE HUB PROXY (RHPROXY)
10.3    CORRECT DEVICE DRIVER SUPPORT IS REQUIRED
10.4    HARDWARE PLATFORMS
10.4.1    UP Board BIOS Settings
10.4.2    UP2 Board BIOS Settings for HAT Connector
10.5    EXERCISE 1001: SDK BUS TOOLS
10.5.1    On the Target System
10.5.2    On the host system
10.5.3    Running the Bus Tools
10.6    SUMMARY: CHECK FOR RHPROXY SUPPORT

11    GPIO
11.1    WINDOWS RUNTIME GPIO NAMESPACE
11.2    GPIOTESTTOOL
11.3    EXERCISE 1101 BASIC OUTPUT – THE FLASHING LED
11.4    EXERCISE 1102 INPUT INTERRUPT
11.5    EXERCISE 1103 – DIAGNOSTICS
11.6    SUMMARY: 1 AND 0

12    UART
12.1    SERIAL PORT STANDARDS
12.2    WINDOWS RUNTIME SERIALCOMMUNICATION NAMESPACE AND OTHER NAMESPACES
12.3    PC SERIAL PORTS – SERIALPORT CLASS
12.4    MINCOMM.EXE
12.5    EXERCISE 1201: SERIAL TRANSMIT WITH SPARKFUN™ SERLCD
12.6    EXERCISE 1202 – SERLCD ASSEMBLY LIBRARY
12.7    EXERCISE 1203 – GPS
12.8    EXERCISE 1204: SIMPLE SERIAL TERMINAL
12.9    SUMMARY: UART

13    SERIAL PERIPHERAL INTERFACE (SPI)
13.1    THE SERIAL PERIPHERAL INTERFACE (SPI) BUS, NOT FOR BIT BANGING!
13.2    SPI CONNECTIVITY BASICS
13.3    WINDOWS RUNTIME SPI NAMESPACE
13.4    SPITESTTOOL.EXE
13.5    EXERCISE 1301: SPI PRESSURE SENSOR
13.6    EXERCISE 1302: SPI PRESSURE SENSOR ASSEMBLY LIBRARY
13.7    EXERCISE 1303: SPI ADC   
13.8    EXERCISE 1304: SPI ADC LIBRARY
13.9    THE SPI SUMMARY

14    INTER-INTEGRATED CIRCUIT (I2C)
14.1    THE INTER-INTEGRATED CIRCUIT (I2C) BUS
14.2    WINDOWS RUNTIME I2C NAMESPACE
14.3    I2CTESTTOOL.EXE
14.4    EXERCISE 1401: I2C TEMPERATURE SENSOR – TMP102
14.5    EXERCISE 1402: I2C TEMPERATURE SENSOR ASSEMBLY LIBRARY WITH .NET CORE 2.1 APPLICATION
14.6    EXERCISE 1403: I2C HUMIDITY SENSOR ASSEMBLY LIBRARY
14.7    THE I2C SUMMARY

15    PULSE WIDTH MODULATION
15.1    PULSE-WIDTH MODULATION OVERVIEW
15.2    PWM NAMESPACE
15.3    PWMTESTTOOL.EXE
15.4    EXERCISE 1501: PWM MOTOR CONTROL
15.5    SUMMARY: PULSE WIDTH MODULATION (PWM)

16    ANALOG-TO-DIGITAL CONVERTER (ADC)
16.1    ANALOG-TO-DIGITAL CONVERTER OVERVIEW
16.2    ADC CHANNELS AND BITS
16.3    WINDOWS RUNTIME ADC AND ADC.PROVIDER NAMESPACES
16.4    NO ADC EXERCISES
16.5    SUMMARY: ANALOG-TO-DIGITAL CONVERTER (ADC)

17    PUTTING IT ALL TOGETHER: SENSORS TO CLOUD   
17.1    TARGET SYSTEM SETUP AND STARTING THE WORKFLOW
17.2    CREATE AZURE IOT CENTRAL APPLICATION
17.3    CREATE THE WEATHER APPLICATION IN VISUAL STUDIO
17.3.1    Install Azure CLI
17.3.1    Create the Visual Studio Project
17.3.2    Set Up the XAML Controls
17.3.3    Write the code
17.3.4    Test the Application
17.4    SET UP THE DISTRIBUTION SHARE AND CREATE THE ANSWER FILE
17.4.1    Set Up the Distribution Share
17.4.2    Create the Answer File
17.4.3    Create the Sysprep unattended file
17.5    BUILD, DEPLOY, AND RUN SYSPREP
17.5.1    Build and Deploy
17.5.2    Run WDAC PowerShell Script
17.5.3    Run Windows Update, Optional Shrink Image, and Cleanup
17.5.4    Run Sysprep
17.6    DELETE THE WEATHER APPLICATION IN AZURE IOT CENTRAL
17.7    SUMMARY

     
 

Related Books, Software, and Other Information




 

 

Looking for better deterministic performance from Windows? Developing real-time applications is no simple task. Timing is everything to the system. The more complex the system the more attention to detail is required. Real-Time Development from Theory to Practice Featuring TenAsys® INtime® provides the core foundation to go from understanding real-time concepts to putting them to use in applications. TenAsys® INtime® for Windows® is featured to demonstrate the basic concepts of hard real-time development and provides a development environment, integrated into Windows that allows the reader to directly apply these concepts.  

 

   
   

 

Please review our refund policy before buying.