Release Notes for Windows Embedded Compact 2013

10/26/2015

This document describes known issues in Windows Embedded Compact 2013.

Installation Requirements

Operating System

Your computer must have one of the following operating systems installed.

  • Windows 7 (x86-based and x64-based) and any available service packs
  • Windows 8.1 (x86-based and x64-based) and any available service packs
  • Windows Server 2008 R2 (x64-based) and any available service packs.
  • Windows Server 2012 (x64-based) and any available service packs.

Software

Your computer must have the following software installed, and installed in the following order:

  1. Microsoft Visual Studio 2015, Microsoft Visual Studio 2013, Visual Studio Professional 2012, Visual Studio Premium 2012, or Visual Studio Ultimate 2012. You can download Microsoft Visual Studio 2015 from the Microsoft Download Center.
  2. Microsoft .NET Framework 3.5, Service Pack 1. You can download the installation file from the Microsoft Download Center.
  3. Application Builder for Windows Embedded Compact 2013. You can download the installation file from the Microsoft Download Center.

Hardware

Your computer must meet the following hardware requirements:

  • 100 GB (NTFS) of available hard disk space
  • 2.4 GHz processor
  • 2 GB of RAM
  • 5400 RPM hard drive
  • A Microsoft DirectX 9-capable video card running at 1024 x 768 or higher display resolution
  • An optical drive that supports DVD-ROM

Known Issues and Troubleshooting

Known issues and troubleshooting hints for this release are noted in the following sections.

Platform Builder 

Issue

Workaround

On a computer running Windows Server 2012, Platform Builder is unable to see “bootme” files from Windows CE devices on the same subnet.  Thus, you cannot discover a device by using Platform Builder and are blocked from downloading to the device. 

Manually add the following inbound/outbound rules to Windows Firewall:

  1. Inbound: Program - %ProgramFiles% (x86)\Microsoft Platform Builder\8.00\CoreCon\BIN\cesvchost.exe - allow connection - domain/private/public
  2. Outbound: Program - %ProgramFiles% (x86)\Microsoft Platform Builder\8.00\CoreCon\BIN\cesvchost.exe - allow connection - domain/private/public 

Project solution files for OS designs created in Visual Studio 2008 cannot be opened in Visual Studio 2012.

Delete the solution files (.sln, .suo, .ncb) and open the OS Design (.pbcXml) file directly.

Platform-specific Macro in the SDK properties is no longer supported.

The Development languages list is now based on the Sysgen variables that you have included in your OS design. For example, if you want to enable managed application development, you need the NetCF Sysgen in your OS project.

When using the Connectivity Options dialog box, sometimes this error message will appear: "Platform Builder was unable to read the device settings from the Data Store."

Restart Visual Studio.  If that doesn't work, go to c:\users\[username]\AppData\Local\Microsoft\Embedded Tools\Corecon and rename or delete the 11.0 folder.

If you are using a USB connection to a device and want to reset the target device, don’t use .reset command from the Target Control window or from the Reset Device option on the Target menu

To reset the device, use the Detach Device and Target - Attach Device option on the Target menu.

Remote Tools

Issue

Workaround

Remote Tools do not work if Platform Builder is not installed on the C:\ drive.

Install Platform Builder on the C:\ drive.

All Remote tools fail with unhandled exception at 0x67814EB5 (ComMan2.dll) when attempting to connect to an invalid connection.

Do not connect to an invalid connection.

Incorrect "Full Path" shown for modules in the Remote Process Viewer. For example, the full path for plcrt.dll points to \windows\msvcrt.dll instead of \windows\lpcrt.dll.

None.

TCP/IP connection to Remote Tools fails if a remote tool is called by using KITL, and KITL connection to Remote Tools fails if Remote Tool is called by using TCP/IP.

Use only one transport type per session, either TCP/IP or KITL.

If the Remote Profiler and Remote Registry Editor are both open, you cannot use the Save or Save File from Registry Editor As menu options.

Workaround: To save items, close the Remote Profiler if you are using the Remote Registry Editor.

Remote Tools will not open while Remote Profiler is capturing the profile data.

Close and reopen the Remote Tools Shell. If that doesn’t work, perform an “end task” on RemoteToolsShell.exe, reset the device, and then close and re-open Visual Studio.

Remote Tools Shell may not respond after opening and closing several Remote Tools.

Close and reopen the Remote Tools Shell. If that doesn’t work, perform an “end task” on RemoteToolsShell.exe, reset the device, and then close and re-open Visual Studio.

Remote Tools will fail with an exception if SYSGEN_REMOTETOOLS is not set on the image.

Set SYSGEN_REMOTETOOLS if you want to use Remote Tools with the image.

If you have Compact 7 and Compact 2013 devices both created and deployed via Platform Builder (versions 7 and 8, respectively), you cannot use the Compact 2013 version of the Remote Tools to open a Compact 7 image, even though the Compact 7 image is listed in the UI.

Only images built with Compact 2013 can use the Compact 2013 version of the remote tools. Do not select an image built with Compact 7.

If you have Compact 7 and Compact 2013 devices both created and deployed via pb (versions 7 and 8, respectively), you cannot use the Compact 2013 version of the Remote Tools to open a Compact 7 image, even though the Compact 7 image is listed in the UI.

Only images built with Compact 2013 can use the Compact 2013 version of the remote tools. Do not select an image built with Compact 7.

Closing the Resource Consumer displays a "Connection to the device <device name> failed" error message.

After closing Resource Consumer, restart Visual Studio and reset the device.

Remote Tools cannot connect to a localized image.

None.

If you have Platform Builder installed, opening Remote Tools from the Visual Studio Tools menu will fail if you are not in an OS Design project.

Open Remote Tools from the Windows Start menu instead of from Visual Studio.

Timeline viewer does not import .csv file data correctly.

None.

Assembler Compiler

Issue

Workaround

“Error A2092: improper program syntax; missing ENDP directive or nested function definition” is raised if you have a macro mismatch in your assembly file.

If this message displays, you have a mismatched macro LEAF_ENTRY/LEAF_END or NESTED_ENTRY/NESTED_END that you need to address in your assembly file.

Software Development Kit (SDK)

Issue

Workaround

Installing an SDK that shares a name with an existing SDK will overwrite the existing SDK.

Do not reuse an SDK name; otherwise, uninstall the existing SDK that has the same name before installing the new one.

Unbuildable SDK created when Solution Explorer is collapsed or closed.

Open Solution Explorer, make it the active window, and then point to "Add New SDK entry."

Building a native application project fails with "LINK : fatal error LNK1104: cannot open file..." errors, when the project is built with a checked version of an SDK.

Use a retail or debug configuration of the SDK.

Board Support Packages (BSPs) and Drivers

Issue

Workaround

A cloned BSP does not display in the BSP selection page of the OS Design Template when creating a new OS Design.

Close and reopen Visual Studio 2012.

An "Access Violation" exception is raised for an AMD G Series board if neither VGA or DVI is connected.

Force the AMD display driver to load by setting the "NOEDID" registry key to 1 (it is set to zero by default) in the following reg key file:

\platform\GSeries\src\AMDDrivers\GSeriesHD6xxx\wec\ongfx.reg

TI 4470: The GPIO line used for debugging is not compatible with the Tablet2 hardware platform which can cause disruptions with the USB PHY.  The disruption will result in USB connection errors and failure to recognize the USB device.

Contact Texas Instruments for an update.

TI 4470: Text corruption may occur when using ClearType with Screen rotation. This is a bug in the Display Driver.

Contact Texas Instruments for an update.

TI 4470: The Texas Instruments AAC Audio Decoder Filter set through the BSP_TI_MULTIMEDIA setting, does not function correctly when using the Graph Builder.

Contact Texas Instruments for an update.

TI 4470: OpenGL cannot be used because the PowerVR component in the 4470 BSP does not build correctly.

Contact Texas Instruments for an update.

Freescale i.MX6: For a list of known issues, review the BSP release notes located at %_WINCEROOT%\Platform\iMX6Q_SABRE_Lite.

Contact Freescale Semiconductor for an update.

New board support packages

Board Support Packages that are no longer included

  • ICOP eBox 3300
  • Freescale i.MX27
  • Freescale i.MX31
  • NEC NE1TB Capricorn
  • Samsung SMDK6410
  • Sigma Designs 8654 (mips)
  • TI 3530

Hyper-V

Issue

Workaround

The bootloader, when run under Hyper-V emulation, may hang during boot.

Reset the device.

The OS freezes when running a checked OS configuration on a Windows 8 Hyper-V-based virtual machine.

You have two options:

  1. Use a debug or release OS configuration instead.
  2. Use a Virtual PC 2007 SP1-based virtual machine.

Types.h renamed Cetypes.h

If you include the Types.h file under %_WINCEROOT%\public\common\sdk\inc, you need to change the statement to include Cetypes.h.

Application Development: Managed code and designer

Issue

Workaround

Controls that are on the Visual Studio design surface overlap when a menu control is docked to Top and Left.

Manually move the controls after adding them to the design surface.

When you double-click an OpenFileDialog or SaveFileDialog object on the design surface to add an event handler for the FileOk default event in the code-behind file, the event handler is not added.

Manually add the event-handling method and associate it with the FileOk event.

Adding controls to a collection property by using the collection editor for a Control Library project does not add the controls correctly, and the file does not compile.

Add the controls to the collection in code.

Automatic scaling is turned off by default in the project templates.

Set the Autoscaling property manually if automatic scaling is required; for example:

In Visual Basic:
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
In C#:
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;

Using the Table Collection Editor to add a DataTable object to a DataSet control does not add the DataTable correctly, and the code does not compile.

Add the DataTable object in code.

When you reference a Control Library project from a Device Application project and build the solution, the user control does not appear in the Toolbox. In addition, when you manually add the user control to the Toolbox, it is not displayed.

Add the control to the Device Application project manually in code.

Application Development: Native code (C++)

Issue

Workaround

Using the CreateProcess function fails at compile time because it is not a Unicode API.

Manually add a #define Unicode statement to the code file.

Resource template (.rct) files that are created and added to the resource template directory (<installDir\Program Files\Microsoft Visual Studio 11.0\VC\VCResourceTemplates\1033) are not displayed in Visual Studio when you choose the Add Resource command.

None.

The subproject template for Compact 2013 applications does not automatically add .rc files to the build. 

Open the sources file by double-clicking on the subproject in your OS design, then add the name of the .rc file with extension to the SOURCES macro, for example SOURCES=subproject1.cpp subproject1.rc.

XAML for Windows Embedded does not support AC3 font compression. You must clear the Sysgen variable SYSGEN_AC3_FONT when using XAML for Windows Embedded. In addition, XAML for Windows Embedded does not work with pluggable font engines like Monotype’s iType.

Use the standard fonts provided with Compact 2013.

Application Development: Debugging and Deployment

Issue

Workaround

The Debug and Release configurations require an IP address setting. If you switch between the Debug and Release configurations, you will be prompted for an IP address.

None.

When you're debugging a try/catch statement in C++, if you set a breakpoint on code that throws an exception and press F10 (Step Over) when the breakpoint is hit, the code continues execution as if you pressed F5 (Start Debugging) instead.

None.

When you're debugging a native application and you've selected to break only on Microsoft Win32 exceptions (by using Debug > Exceptions > Win32 Exceptions), control goes to external code for first-chance exceptions.

On the menu bar, choose Debug > Exceptions, and then select the check boxes in the Thrown column for the following exceptions:

  • C++ Exceptions
  • Common Language Runtime Exceptions
  • Win32 Exceptions

Attaching to two processes from a single Visual Studio instance is not supported.

Use two different Visual Studio instances to attach to two different application processes. 

The Start Debugging command (F5) will fail for C++ projects if the Remote Directory path in the project's Configuration Properties, on the Deployment tab, is changed to something other than the default path. Some operating system files will be deployed to the default location instead of the specified remote directory.

Manually update the Additional Files path to the same location as the Remote Directory path to copy all operating system files to the correct location.

Deploying an application to a device after using a remote tool fails.

When selecting the Windows Embedded Compact Device, use the Windows CE Application Builder connection, which uses TCP/IP, instead of the Windows Embedded Compact Default Platform.

Calling Remote Tools from Platform Builder causes application deployment activities to stop.

  1. Copy the entire contents of Corecon <drive>\%prog files%\common files\microsoft shared\embedded tools\corecon\11.0\target\wce800\<cpu> to your release directory.
  2. Launch all remote tools from the Start menu. Launching from Platform Builder defaults the connection to use KITL, while launching from the Start menu lets you choose to use the Windows CE Application Builder (also known as TCPIP) connection.

Resource strings in an application sub-project cannot be retrieved.

The subproject template for Compact 2013 “Application” does not automatically add .rc files to the build.  To work around this, open the sources file by double clicking on the subproject in your OS Design, then add the name of the rc file with extension to the SOURCES macro, e.g. SOURCES=subproject1.cpp subproject1.rc.

Debugger

Issue

Workaround

When viewing the disassembly of code, the LDRSH instruction is not recognized by the disassembler and shows the instruction as undefined. Furthermore, stepping into or stepping over code with this instruction, where the target register of the load is the program counter, will not work.

For stepping, you can use additional breakpoints instead of step into or step over.

For an application to be debugged, the image needs to include SYSGEN_APPDEBUG.

Add SYSGEN_APPDEBUG to your OS design if you want to debug applications.

0x406d1388 exception is raised when trying to debug Native ATL applications on CEPC.

Catch the exception, as in the following example:

void Win32BDM::CBaseDebugMonitor::NameDebugThread()
{    
    typedef struct tagTHREADNAME_INFO
    {
       DWORD dwType; // must be 0x1000
       LPCSTR szName; // pointer to name (in user addr space)
       DWORD dwThreadID; // thread ID (-1=caller thread)
       DWORD dwFlags; // reserved for future use, must be zero
    } THREADNAME_INFO;
 
 
    THREADNAME_INFO info;
    info.dwType = 0x1000;
    info.szName = "Debugger Event Loop Thread";
    info.dwThreadID = GetCurrentThreadId();
    info.dwFlags = 0;
 
    __try
    {
      RaiseException( 0x406D1388, 0, sizeof(info)/sizeof(ULONG_PTR), (ULONG_PTR*)&info );
    }
    __except(EXCEPTION_CONTINUE_EXECUTION)
    {
    }
}

Code Map does not work for Compact 2013 projects.

None.

CTK

Issue

Workaround

The TI 4470 cpuload policy will disable cpu1 when the system load is low. This will cause the CTK test tux -o -d ksmpbvt.dll to fail.

Disable the cpuload policy before running this test.

The easiest way to disable the cpuload policy is to exclude SYSGEN_PM (or anything that pulls in SYSGEN_PM) from your image.

The CTK disconnects form a devices and exits the test pass if the device reboots.

Restart the test pass if the device reboots.

The CTK in Compact 7 cannot be launched if the CTK in Compact 2013 is running.

Stop the CTK in Compact 2013 to launch the Compact 7 version of the tool.

NDIS6 performance test requires driver installation to run, but the shipped driver is compiled with 32-bit OS and does not work on 64-bit OS machines.

  1. Run the test on a 32-bit OS.
  2. Install a 32-bit virtual machine on a 64-bit machine and install the driver on the 32-bit virtual machine to run the test.

CTK Wi-Fi authentication tests fail with the following errors:

Error: Could not find support file: C:\Program Files (x86)\WindowsEmbeddedCompact2013TestKit\tests\8.0.0\files\eaptls.cfg

Error: Could not find support file: C:\Program Files (x86)\WindowsEmbeddedCompact2013TestKit\tests\target\x86\apcontrol.exe

Perform the following steps in order to run the CTK Wi-Fi authentication tests successfully:

  1. Copy eaptls.cfg (from “C:\WINCE800\public\test\oak\target\x86\retail”) to “C:\Program Files (x86)\WindowsEmbeddedCompact2013TestKit\tests\8.0.0\files”
  2. Copy apcontrol.exe (from “C:\WINCE800\public\test\oak\target\NT\retail”) to “C:\Program Files (x86)\WindowsEmbeddedCompact2013TestKit\tests\target\x86”

International

Issue

Workaround

The keyboard layout for Virtual PC hardware only supports US/0409 layout.

If you want to use another keyboard layout in Virtual PC, you must use a Software-based Input Panel (SIP). You can enter the keystroke by using the soft keyboard panel edit control (or if the program enables the soft keyboard panel explicitly through SipPreference() or SHSipPreference(), or by setting the "SIP_UP" SYSGEN variable).

Attempting to connect to a device with a localized OS displays a "Parameter Incorrect" error message.

Select both a language and a sub-region when creating a localized OS Design.

Documentation

Issue

Workaround

The documentation is no longer provided as part of the installation of Windows Embedded Compact.

Individual users can access the help online or through the Visual Studio 2012 Help> Add or Remove Help Content option.

  1. In the Help Viewer, click the Manage Content tab.
  2. In the Installation Source, click. Online.
  3. Under Available Documentation > Additional Development Resources, click Add to the right of Windows Embedded Compact 2013
  4. Click Update.
  5. The Windows Embedded Compact 2013 node displays in the Content pane.

If you are a system administrator and want to make offline content available to your users, follow the instructions in the Help Viewer 2.0 Administrator Guide.