Create an SDK for Application Development (Windows Embedded Compact 7)
You create an SDK to give to application developers so that they can create an application for a custom-designed OS. Application developers install a specific SDK on their workstation to facilitate application development for a custom-designed OS platform without installing Platform Builder.
In this article:
- Windows Embedded Compact 7 Applications
- Windows Embedded Compact 7 SDKs
- Create a Windows Embedded Compact 7 SDK
Windows Embedded Compact 7 Applications
Windows Embedded Compact 7 applications execute on a custom-designed OS that an Original Equipment Manufacturer (OEMs) creates specifically for particular hardware devices or microprocessors. You create a customized OS by using the Platform Builder programming tool in Microsoft Visual Studio 2008 with Service Pack 1 (SP1) to select and combine drivers and other software components for their specific hardware devices. Application developers then use Microsoft Visual Studio 2008 SP1 to create Windows Embedded application programs that run on the devices.Windows Embedded Compact 7 provides two ways to create applications that are targeted for specific platforms.
Windows Embedded Compact 7 provides two ways to create applications that are targeted for specific platforms.
- Create each application as a subproject in a Microsoft Visual Studio 2008 SP1 Platform Builder OS Design project that is customized for the device.
- Create each application as a separate project in Microsoft Visual Studio 2008 SP1, using a Windows Embedded Compact 7 Software Development Kit (SDK) that was created from the Platform Builder OS Design project that is customized for the device.
Windows Embedded Compact 7 SDKs
A Windows Embedded SDK is a set of headers, libraries, run-time files, connectivity files, OS design extensions and Help documentation that developers need to create applications for a specific OS Design.
Before you can create a Windows Embedded Compact 7 SDK, you must use Platform Builder in Microsoft Visual Studio 2008 SP1 to create the customized OS, and build the run-time image for the OS. The specific configuration of your customized OS design is determined by two independent factors:
- The functionality and support required by the embedded device on which the applications will run.
- The project types used to create the applications that will be built for the embedded device.
For example, to ensure that all Smart Device project types can be built using the SDK created for your OS design, you must include the Smart Devices catalog item (set the SYSGEN_SMARTDEVICES_SDK flag) in that OS Design. Building other project types may require that you modify the OS Design or include other components in the SDK.
Note that the SDK creation process currently relies on Visual Studio to contain Active Template Library (ATL) and Microsoft Foundation Classes (MFC) headers and libraries, and as a result these are not included in the SDK.
The SDK is created as a Windows Installer (.msi) file that can be downloaded to a computer and run to install the SDK. Running the .msi file runs the SDK Setup Wizard, which guides the end user through the installation process.
More information on creating OS designs with Platform Builder can be found at Platform Builder
Create a Windows Embedded Compact 7 SDK
To create a Windows Embedded Compact 7 SDK for a custom-designed OS:
Open the Platform Builder OS design project in Microsoft Visual Studio 2008 SP1.
In the Solution Explorer window, click on the name of the OS design project to make it the active project.
From the Project Menu, select Add New SDK to open the SDK Property Pages dialog box. This automatically creates a folder at %WINCEROOT%\OSDesigns\your OS design solution>\your OS design project>\SDKs\SDK<sequential integer>. An XML file, SDK<sequential integer>.sdkcfg, that contains the specifics of the SDK configuration is also created and placed in this folder. When you build your SDK project in step 7 below, this folder will contain folders and files with information needed to generate the SDK from your OS design.
Click on General in the left list of the dialog box to select the General property page.
On the General property page, enter values for the following:
Property Description SDK Name
Defaults to SDK<sequential integer>, must be non-blank and unique for the OS design project, and is the name that appears in your OS design project under SDKs in the Solution Explorer window.
Product Name
Must be non-blank and is the name used by the OS where the SDK is installed. This is the name that appears in the License Agreement when the installation occurs, and that appears under the Programs and Features, Uninstall or Change a Program dialog box of the Control Panel.
Product Version
Defaults to Major: 0, Minor: 0, Build: 0 (0.0.0). Must be non-blank and is used by the SDK installer to compare differing installations. This is the version that appears in the Programs and Features, Uninstall or Change a Program dialog box of the Control Panel.
Company Name
Must be non-blank and is the name that appears as Publisher in the Programs and Features, Uninstall or Change a Program dialog box of the Control Panel.
Company Website
Must be non-blank.
Click Apply on the SDK Property Pages dialog box to save the General properties, or click OK to save the SDK configuration and close the SDK Property Pages dialog box.
To build the SDK, use one of the following methods:
- Right-click the name of the SDK in the Solution Explorer window and select Build from the context menu.
- Select Build all SDKs from the Build menu.
The build process automatically invokes appropriate modules (such as GenSDK, CoreRoller, setupgen, and BuildSDK), creates all necessary folders and files (such as BuildSDK<sequential integer>.xml and SDKFiles.cab), and generates the final product, the Microsoft Installer file for the SDK (SDK<sequential integer>.msi).
You can see the results of the build process in the Visual Studio Output window:
- The location of the exported SDK.
- The location of the .msi file to use to install the SDK.
To install an SDK for a custom-designed OS, see Install a Windows Embedded Compact 7 SDK.
Optional SDK Property Pages
Optionally, you can modify the configuration of the SDK by changing values on these SDK property pages:
Property Page | Description |
---|---|
Install |
Specify the MSI file name, path and locale. MSI name defaults to SDK<sequential integer>.msi and path defaults to %WINCEROOT%\OSDesigns\<your OS design solution>\<your OS design project>\SDKs\SDK<sequential integer>\MSI. |
License Terms |
Designate a custom end user license agreement if you need one. You can specify a path to a Rich Text Format file that contains the terms you want to add to the license agreement. |
Readme |
Specify a custom readme file to include with the SDK. On the final page of the SDK Setup Wizard, a checkbox is provided to display the readme file after installation is complete. |
CPU Families |
Select the OS configurations you want your SDK to support. You can choose from the list of configurations that your OS design supports. For more information on OS design configuration see Platform Builder. |
Development Languages |
Native development support is the only option available for Windows Embedded Compact. If your OS design requires a platform-specific macro, you can specify the name of that macro in the field provided. For additional information see the VCPlatform.PlatformMacro Property in MSDN. |
Additional Folders |
Specify any additional directories you want to include in the SDK by using the Add, Edit and Delete keys on the Additional Folders property page. You specify complete paths for directories containing files your SDK will need. These files may contain data, custom tools or programs you want to include in the SDK. For example, folders specified here may contain components that are required by a specific OS design configuration or project type, such as C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\dll to include the MFC runtime dlls in the SDK. |
Emulation |
Configuration of a device emulator is not currently included in Windows Embedded. |
Add Support for Connecting to a Virtual CEPC
You can also add SDK support for connecting Visual Studio 2008 to a virtual CEPC, so that application developers can test Windows Embedded Compact applications by using the virtual CEPC. For more information regarding Virtual CEPC, see Getting Started with Virtual CEPC.
With SDK support for the virtual CEPC, application developers can set up a virtual CEPC by using either Windows Virtual PC or Microsoft Virtual PC 2007, to download and run Windows Embedded Compact applications that they develop in Visual Studio 2008.
To add support for connecting to a virtual CEPC, add the following files from Platform Builder to an additional directory folder:
Add the Nk.bin file
Nk.bin represents the OS image that you built by using the virtual CEPC board support package (BSP) and is located at %_WINCEROOT%\OSDesigns\OSDesignName>\OSDesignName>\RelDir\BuildConfiguration>\Nk.bin.Add the WceldrC file
WceldrC represents the boot loader that you built by using the virtual CEPC BSP and is located at %_WINCEROOT%\OSDesigns\OSDesignName>\OSDesignName>\RelDir\BuildConfiguration>\WceldrC.Add the Cesys.exe file
Cesys.exe is a tool that embeds the boot loader into the virtual hard disk that the application developer uses to run the virtual CEPC and is located at %_WINCEROOT%\Platform\VirtualPC\src\Boot\Tools\Bin\i386\ Cesys.exe.Add the following Core Connectivity files from C:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\x86:
- Clientshutdown.exe
- ConmanClient.exe
- EDebgTl.dll
- TcpConnectionA.dll
The application developer uses the Core Connectivity files to establish a connection between Visual Studio and the virtual CEPC.
To add the additional directory folder to the SDK:
- In the SDK Property Pages dialog box, click Additional Folders.
- Click Add.
- In the Source folder, browse to the directory folder in which you added the files for virtual CEPC support.
- Click OK.
See Also
- [[articles:Windows Embedded Compact 7: Install an SDK for Application Development]]
- Getting Started with Virtual CEPC
- Advanced Virtual CEPC