Get started developing for Windows Embedded Compact in Visual Studio (Compact 2013)

3/26/2014

You can develop your .NET Compact Framework 3.9 or Visual C++ apps from within Visual Studio 2013 or Visual Studio 2012 Professional, Premium, and Ultimate editions. When you install Application Builder and the SDK provided for the version of Windows Embedded Compact Edition you are targeting, the SDK provides Visual Studio project templates and Application Builder provides the ability to deploy your apps from Visual Studio to a device or virtual machine for debugging and testing.

Installation

To install an SDK to target Windows Embedded Compact, make sure that your computer includes these tools:

Then install the following:

  1. Application Builder for Windows Embedded Compact 2013 (VSEmbedded_AppBuilder.exe)
  2. The SDK provided for the Windows Embedded Compact 2013 product that you are targeting. Typically, this SDK is provided by an OEM.

Windows Embedded Compact development features in Visual Studio

App project templates

The SDK you install will contain the correct templates for the Windows Embedded Compact 2013 product that you are targeting. Because of this, you may not see all of the templates listed in the following tables in your installed SDK.

C# and VB.NET templates

Template Name

Description

Class Library

A project for creating a .NET Compact Framework library of reusable classes. This project type does not contain user interface elements; it is meant for use in other .NET Compact Framework apps.

Console Application

A project for creating a .NET Compact Framework app that runs in a command window. This type of app displays a text interface.

Control Library

A project for creating a custom control for use with a device app. For more information, see Developing Windows Forms Controls at Design Time

Device Application

A project for creating a .NET Compact Framework app with a Windows Forms user interface. For more information about how to use Windows Forms, see Windows Forms Controls in the .NET Compact Framework

Empty Project

An empty project. The template creates the necessary file structure needed to store information about the app; any references, files, or components must be added manually.

C++ templates

Template Name

Description

ATL Application

A project for creating apps that use the Active Template Library (ATL). For more information about ATL development with Windows Embedded Compact, see Active Template Library (ATL).

ATL DLL

A project for creating a library using Active Template Library (ATL). This library is meant for use in other applications. For more information about ATL development with Windows Embedded Compact, see Active Template Library (ATL).

Win32 Console Application

A project for creating a Win32-based app that runs in a command window. This type of app displays a text interface.

Win32 DLL

A project for creating a Win32-based library that is meant for use in other applications.

MFC ActiveX Control

A project for creating an ActiveX control using Microsoft Foundation Classes (MFC).

MFC Application

A project for creating an app using Microsoft Foundation Classes (MFC). For more information, see Microsoft Foundation Class (MFC) Library.

MFC DLL

A project for creating a library using Microsoft Foundation Classes (MFC). This library is meant for use in other apps. For more information, see Microsoft Foundation Class (MFC) Library.

Win32 Static Library

A project for creating a static Win32-based library that is meant for use in other applications.

Win32 Windows Application

A project for creating a Win32-based app.

Creating a project with the Windows Compact Embedded templates

To locate the installed templates:

  1. Create a new project in Visual Studio
  2. In the New Project dialog box, expand the node for your chosen development language: Visual C#, Visual Basic, or Visual C++.
  3. Expand the Windows Embedded Compact node. If you are developing apps for more multiple Windows Embedded Compact 2013 products, and have installed more than one SDK, you will see multiple entries.
  4. Choose the SDK for the operating system you are targeting to display the supported templates.

Design view

When you create Device Application projects, Visual Studio displays the Windows Forms Designer, which enables a drag-and-drop experience when building apps. For more information, see Windows Forms Designer .

Debugging and deployment

The Windows Embedded Compact SDK includes a window for specifying the IP address for a device, for deployment or debugging purposes. You can specify the IP address for a virtual machine that is running an emulator or an actual device. In addition, you can configure existing .NET Compact Framework apps to target .NET Compact Framework 3.9 and debug them from Visual Studio.

Deploying an app from Visual Studio for debugging

Note

The deployment process has changed from previous versions of Windows Embedded Compact development, and previous deployment methods are no longer supported.

When you choose Deploy Solution from the Build menu or Start Debugging, or Attach to Process from the Debug menu, the IPAddress Windows appears. Enter the IP address of the device, and click Ok to deploy and test the app.

IPAddress Window

Alternatively, you can specify the IP address for the target device on the Debug tab of the project’s Properties page.

IP Address project property

Deploying an app to an end-user device

In Visual Studio there is no support for creating a CAB file automatically. Instead you need to create an .inf file and run the CAB Wizard (Cabwiz.exe) tool. For more information see Deploy an Application with a CAB File.

Configuring .NET Compact Framework runtime version

To force an application that was built with an earlier version of the .NET Compact Framework to run on a device that has .NET Compact Framework 3.9, see How to: Configure Runtime Version.

To add this feature to your OS, see .NET Compact Framework Catalog Items and Sysgen Variables.

For reference information, see the .NET Compact Framework Web site.

See Also

Concepts

.NET Compact Framework