Select an OS Design Template (Compact 2013)

3/26/2014

A design template is a set of predefined catalog items that provide an easy starting point for a Windows Embedded Compact OS design. Using the design template that most closely matches your device requirements can help reduce your overall OS development time.

You are prompted to select a design template on the Design Templates page in the Create an OS Design Wizard. For more information, see Create an OS Design.

Most of the design templates allow you to choose the catalog items that you want to add or remove from your OS design before you complete the OS Design Wizard. After you complete your OS design, you can always add or remove features by using Catalog Items View. For more information, see Modify and Refine an OS Design or Catalog Items View.

The available Windows Embedded Compact design templates are described in the following table and explained in further detail in the sections that follow the table.

Design template

Description

Quick Start

Provides a blank OS design without configuring any components during project creation. After the wizard creates your OS design project, you add all features and functionality in Catalog Items View.

Headless Device

Provides a starting point for a device that lacks a graphical UI, for example, an embedded device that does not include a display.

Dn167237.note(en-us,WinEmbedded.80).gifNote:
A headless device running the .NET Compact Framework does not include any .dll files that support forms, controls, or drawings.

Win32 and WinForms UI Device

Provides a starting point for an embedded device that can have a UI based on Microsoft Win32 or Windows Forms UI technologies.

XAML UI Device

Provides a starting point for an embedded device with a XAML-based UI.

Custom Device

Provides a design template that you configure by adding catalog items through the wizard. This template is a starting point for many different devices, from network devices with limited functionality and no display screen to full-featured devices with graphical display screens and rich multimedia playback.

Tip

By default, all of the design templates set BuildOption:MS:IMGNODEBUGGER when building a retail configuration (Configuration="Retail") so that the kernel debugger is not enabled in the retail image. You can change this setting in OS Design Property Pages by using the Enable Kernel Debugger (IMGNODEBUGGER=) setting. For more information, see Configuration Properties: Build Options.

Note

If you plan to build applications for your OS design and you want debugging and diagnostics support for application building, add the catalog items SYSGEN_APPDEBUG and SYSGEN_REMOTETOOLS to your OS design.

Quick Start

You cannot use this design template to choose anything in the wizard. Instead, this template creates an empty OS design project that you must configure by adding catalog items through Catalog Items View or through the command line. For more information, see Modify and Refine an OS Design or OS Design Command-Line Utilities Tool (Pbxmlutils.exe)

Headless Device

A headless device is a device that has been configured to operate without a physical display or a user input mechanism capable of responding. A headless device OS design is a set of OS component selections that do not generate any standard Windows user interface elements, such as windows, dialog boxes, or message boxes, that could require or block a user action. It is possible that a device with such an OS design could use additional customer-provided components to provide a UI; however, such systems are out of scope for this definition.

The SYSGEN variables shown in the following table are available in the Headless Device design template.

Warning

If you include SYSGEN_APPDBEUG or SYSGEN_REMOTETOOLS to support debugging, your final run-time image will not be headless. Remove these two SYSGEN variables from your OS design before you build the final run-time image that ships with your headless device from your OS.

Catalog item

SYSGEN variable

Description

Set by default?

.NET Compact Framework

SYSGEN_NETCF

Supports developing .NET Compact Framework 3.9 applications.

Yes

Component Services (COM and DCOM)

SYSGEN_OLE, SYSGEN_DCOM

Supports developing applications that are based on COM and DCOM.

Yes

Headless Cabinet (*.cab) File Installer/Uninstaller

SYSGEN_WCELDCMD

Provides the command-line cabinet (.cab) file installer (Wceldcmd.exe) and uninstaller (Unldcmd.exe) applications, which perform install or uninstall tasks on a headless device (such as via a Telnet session), or on a headed device (such as via a command prompt).

No

Remote Tools Support

SYSGEN_REMOTETOOLS

Provides support that allows application developers to use Remote Tools in Visual Studio.

No

Application Debugging Support

SYSGEN_APPDEBUG

Provides support that allows application developers using Application Builder to debug applications.

No

Networking

  • SYSGEN_NETWORKING

Provides networking support (via TCP/IP, IP Helper APIs, Ethernet, Winsock, and NDIS).

Yes

Networking Security Protocols

  • SYSGEN_AUTH_KERBEROS
  • SYSGEN_AUTH_NTLM
  • SYSGEN_AUTH_SCHANNEL
  • SYSGEN_AUTH

Provides networking security protocols, such as the Kerberos protocol, NTLM, and SChannel.

No

Wireless LAN (802.11) STA - Automatic Configuration and 802.1x

SYSGEN_ETH_80211_NWIFI

Provides the 802.11 native Wi-Fi stack, which creates and manages data connections to wireless networks.

No

Network Utilities (ipconfig, ping, route)

SYSGEN_NETUTILS

Provides command-line tools that support troubleshooting network connections, including ipconfig, ping, and route.

No

Telnet Server

SYSGEN_TELNETD

Provides a sample Telnet server that can be installed on a device to allow remote administration through a remote Telnet client.

No

FTP Server

SYSGEN_FTPD

Provides a sample File Transfer Protocol (FTP) server that allows the copying of files to and from the device.

No

DHCP Server

SYSGEN_DHCPSRV, SYSGEN_SERVICES

Provides a DHCP Server that you can use in your OS design.

No

Automatic DST Adjustment Service

SYSGEN_SERVICES, SYSGEN_DSTSVC

Provides updates for daylight saving time (DST) for application or services that use a clock.

No

SNTP Client Service

SYSGEN_SERVICES, SYSGEN_SNTPSVC

Synchronizes the clock on a Windows Embedded Compact powered device with a time reference available on the Internet.

No

Web Server (HTTPD)

  • SYSGEN_JSCRIPT
  • SYSGEN_VBSCRIPT
  • SYSGEN_ASP
  • SYSGEN_ISAPI_CONFIG
  • SYSGEN_HTTPD
  • SYSGEN_SERVICES

Supports web applications, such as applications that configure a device without a display screen by using a web browser on a computer.

No

Win32 and WinForms UI Device

This design template creates a full-featured UI device based on Microsoft Win32 or Windows Forms UI technologies.

The SYSGEN variables shown in the following table are available in the Win32 and Windows Forms UI Device design template.

Catalog item

SYSGEN variable

Description

Set by default?

Minimal Shell

SYSGEN_MINSHELL

Adds a minimal shell for with a button and a command prompt.

Yes

Minimal Win32 APIs

SYSGEN_MINWMGR

Provides the minimal Win32 APIs which supports Windows messaging and Windows management, and includes GDI and Input support.

Yes

Common Controls

SYSGEN_COMMCTRL

Provides Win32-based common controls for the UI, such as tree views, property sheets, and toolbars.

Yes

Common Dialog Support

SYSGEN_COMMDLG

Provides common dialog box functionality that you can use to develop dialog boxes for the UI.

Yes

.NET Compact Framework 3.9 Windows Forms

SYSGEN_NETCF_WINFORMS

Supports developing .NET Compact Framework 3.9 applications, with Windows Forms support.

Yes

ATL and MFC Support

SYSGEN_ATL

SYSGEN_MFC

Supports developing Active Template Library (ATL) and Microsoft Foundation Classes (MFC) applications.

No

Component Services (COM and DCOM)

SYSGEN_OLE, SYSGEN_DCOM

Supports developing applications that are based on COM and DCOM.

Yes

Networking

  • SYSGEN_NETWORKING
  • SYSGEN_FIREWALL
  • SYSGEN_WININET

Provides networking support (via TCP/IP, IP Helper APIs, Ethernet, Winsock, and NDIS), as well as the Wininet API and Firewall feature.

Yes

Networking Security Protocols

  • SYSGEN_AUTH_KERBEROS
  • SYSGEN_AUTH_NTLM
  • SYSGEN_AUTH_SCHANNEL
  • SYSGEN_AUTH

Provides networking security protocols, such as the Kerberos protocol, NTLM, and SChannel.

No

Wireless LAN (802.11) STA - Automatic Configuration and 802.1x

SYSGEN_ETH_80211_NWIFI

Provides the 802.11 native Wi-Fi stack, which creates and manages data connections to wireless networks.

No

Network Utilities (ipconfig, ping, route)

SYSGEN_NETUTILS

Provides command-line tools that support troubleshooting network connections, including ipconfig, ping, and route.

No

Warning

If you plan to build applications for your OS design and you want debugging and diagnostics support for application building, include SYSGEN_APPDEBUG and SYSGEN_REMOTETOOLS.

XAML UI Device

This design template creates a full-featured UI device based on XAML UI.

In the XAML UI Device design template, you choose a screen size for the UI. The variables shown in the following table are available.

Catalog item

Variable

Description

640 x 480 Portrait

IMG_SCREEN_SMALL

Provides a screen image size of 640 x 480. Generally, this image size is used for a small screen portable device with a touch-based user interface, such as a portable media device.

800 x 480 Landscape

IMG_SCREEN_MEDIUM

Provides a screen image size of 800 x 480. Generally, this image size is used for a device that may be docked and controlled through touch or 5-button remote, such as a digital picture frame.

1920 x 1080 Landscape

IMG_SCREEN_LARGE

Provides a screen image size of 1920 x 1080. Generally, this image size is used for a device that will always be plugged in and that will be controlled through a 5-button remote, such as a set top box.

In the XAML UI Device design template, you choose a theme that will be applied to the user interface. The variables shown in the following table are available.

Catalog item

Variable

Description

Default Theme

IMG_XRST_THEME_0, SYSGEN_XRSHELL, SYSGEN_DATETIMECPL, SYSGEN_REGIONALCPL

Provides a default theme appearance for the sample home screen that has a purple gradient background and a list box with application shortcuts. This theme works with all screen sizes.

Theme 1

IMG_XRST_THEME_1, SYSGEN_XRSHELL, SYSGEN_DATETIMECPL, SYSGEN_REGIONALCPL

Provides Theme 1, which is an appearance for the sample home screen that has a silver background with animated icons that have the appearance of radiation. This theme works with all screen sizes.

Theme 2

IMG_XRST_THEME_2, SYSGEN_XRSHELL, SYSGEN_DATETIMECPL, SYSGEN_REGIONALCPL

Provides Theme 2, which is an appearance for the sample home screen. If IMG_SCREEN_SMALL is selected, this theme has a blue background and list box with application shortcuts. If IMG_SCREEN_MEDIUM is selected, this theme has an orange background with ambient wave effects. If IMG_SCREEN_LARGE is selected, this theme has a blue gray background with black buttons that are application shortcuts.

Theme 3

IMG_XRST_THEME_3, SYSGEN_XRSHELL, SYSGEN_DATETIMECPL, SYSGEN_REGIONALCPL

Provides Theme 3, which is an appearance for the sample home screen. If IMG_SCREEN_SMALL is selected, this theme has a purple background and list box with application shortcuts. If IMG_SCREEN_MEDIUM is selected, this theme has a blue background with honeycomb visual effects. If IMG_SCREEN_LARGE is selected, this theme has an orange background with ambient wave effects.

The SYSGEN variables shown in the following table are available in the XAML UI Device design template.

Catalog item

SYSGEN variable

Description

Set by default?

XAML for Windows Embedded

SYSGEN_XAML_RUNTIME

Provides a native, C++ framework for developing user interfaces based on XAML.

Yes

Date Time Settings

Provides a UI that allows the user to set the time zone, date, and time on the device.

SYSGNE_DATETIMECPL

Yes

Bluetooth Setting

Provides a XAML for Windows Embedded-based UI for Bluetooth wireless technology settings and pairing.

SYSGEN_BTN_SETTINGS

Yes

Display Settings

SYSGEN_DISPLAYCPL

Provides a UI that allows the user to select the wallpaper image, select a theme, and configure the backlight settings.

Yes

Input Settings

SYSTGEN_INPUTCPL

Provides a UI for configuring the default input language.

Yes

Network Connection Settings

SYSGEN_ETHERNETCPL

Provides a UI for the user to connect to an Ethernet network, add a network, and configure network properties.

Yes

Regional Settings

SYSGEN_REGIONALCPL

Provides a UI for configuring regional settings.

Yes

Sound Settings

SYSGEN_SNDSCHEMECPL

Provides an interface for users to select ringtones, clock alarms, and new messages. Users can also change or turn off notification sounds for events such as vibrate, silent, new mail, sent mail, screen taps, and calendar alerts.

Yes

Wi-Fi Settings

SYSGEN_WIFICPL, SYSGEN_CTLPNL2

Provides an interface for users to connect to a Wi-Fi network, add a network, and configure network properties such as signal strength, connection status, and secure mode.

Yes

Software Input Panel

SYSGEN_XAMLIM

Provides a SIP that is implemented by using XAML.

No

XAML Message Box Support

SYSGEN_XAMLMSGBOX

Provides support for the Win32 MessageBox function within a UI built in XAML for Windows Embedded. This feature uses XAML to display Win32 message boxes used in XAML applications.

Yes

Networking

  • SYSGEN_NETWORKING
  • SYSGEN_FIREWALL
  • SYSGEN_WININET

Provides networking support (via TCP/IP, IP Helper APIs, Ethernet, Winsock, and NDIS), as well as the Wininet API and Firewall feature.

Yes

Networking Security Protocols

  • SYSGEN_AUTH_KERBEROS
  • SYSGEN_AUTH_NTLM
  • SYSGEN_AUTH_SCHANNEL
  • SYSGEN_AUTH

Provides networking security protocols, such as the Kerberos protocol, NTLM, and SChannel.

No

Wireless LAN (802.11) STA - Automatic Configuration and 802.1x

SYSGEN_ETH_80211_NWIFI

Provides the 802.11 native Wi-Fi stack, which creates and manages data connections to wireless networks.

No

Network Utilities (ipconfig, ping, route)

SYSGEN_NETUTILS

Provides command-line tools that support troubleshooting network connections, including ipconfig, ping, and route.

No

Note

If you plan to build applications for your OS design and you want debugging and diagnostics support for application building, include SYSGEN_APPDEBUG and SYSGEN_REMOTETOOLS.

Custom Device

This design template lets you configure the OS by adding catalog items through the template. This template is a starting point for many different devices, ranging from network devices with limited functionality and no display screens to full-featured devices with graphical display screens and multimedia playback. Every item in the catalog is available in this design template. For information about individual catalog items, you can search the help files for descriptions of each catalog item.

Note

If you plan to build applications for your OS design and you want debugging and diagnostics support for application building, include SYSGEN_APPDEBUG and SYSGEN_REMOTETOOLS.

See Also

Concepts

Design an OS