Windows CE 5.0 Update 051231_2005Q4

 

2006 Microsoft Corporation. All rights reserved.

 

 

How to install this update

All updates for Windows CE 5.0 require the following:

 

1) Platform Builder 5.0 is installed on the machine.

2) The current user has run Platform Builder 5.0 at least once.

3) Upon installing, the platforms must be rebuilt using the "Rebuild Platform" menu option.

 

Please download the file(s) most appropriate for your installation, as follows:

 

 
WinCEPB50-051231-2005Q4-Armv4I.MSI     For installation based upon Armv4I processors
WinCEPB50-051231-2005Q4-MIPSII.MSI     For installation based upon MIPSII processors
WinCEPB50-051231-2005Q4-MIPSII_FP.MSI     For installation based upon MIPSII-FP processors
WinCEPB50-051231-2005Q4-MIPSIV.MSI     For installation based upon MIPSIV processors
WinCEPB50-051231-2005Q4-MIPSIV_FP.MSI     For installation based upon MIPSIV-FP processors
WinCEPB50-051231-2005Q4-SH4.MSI     For installation based upon SH4 processors
WinCEPB50-051231-2005Q4-X86.MSI     For installation based upon X86-based processors

 

This package will install all updates directly to the build environment specified by the original Platform Builder installation.  This is specified by the following registry key: HKLM\Software\Microsoft\Platform Builder\5.00\Directories - "OS Install Root".  By default, a backup of all updated files will be maintained at the following location:  %_WINCEROOT%\Updates\Backup.  You can remove any files from this directory at your choosing.

 

 

If you have installed previous updates

If you have installed previous updates, this package will update your build environment to include the latest files for this component.

 

If you see "Files that will not be installed"

If this message is displayed, it means that you have an update installed with a later version of the files then those that are being installed.  You already have the updates mentioned in this document including some updates released later.  This message is displayed to prevent accidental overwrite of the latest update to that particular component.

 

If you uninstall or repair Platform Builder

If you uninstall or repair Platform Builder 5.0, you have to remove corresponding WinCEPBxx.ini file located in %WINDIR%.

 

 

Fixes made in this update:

 

By Component:

 

Component:  Audio Software Mixer

Component:  Compiler

Component:  Datasync

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\datasync\cesysgen\makefile

Component:  DHCP

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     private\winceos\comm\dhcp\packet.c

Component:  DirectX

        The following registry keys need to be implemented:

   

            [HKEY_CURRENT_USER\Software\Microsoft\Multimedia\DirectShow\MPEG1 Audio]
                    "ID3v2SizeLimit"=dword:[hex value]


            This indicates the maximum size in kilobytes of the buffer to allocate to hold the parsed data from the ID3 tag.

            The default hex value is 400 (1024 KB).
 


            [HKEY_CURRENT_USER\Software\Microsoft\Multimedia\DirectShow\MPEG1 Audio]
            "FrameSearchLimit"=dword:[hex value]


       This indicates the number of kilobytes from the beginning of the file or from the end of a valid ID3 tag (if one exists) to search for a valid frame start 

            sequence. The default hex value is 18 (24 KB).

The following registry key needs to be implemented to override the streamer's default timeout to wait for new data after issuing a freeze on the downstream filters:

 

[HKEY_CURRENT_USER\Software\Microsoft\NetShow\Player]

"DisconnectTimeout"=dword:<value>

Where the <value> is in the range from 0 to 2^32 ms.

The default is 120000 ms.

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\directx\sdk\inc\renbase.h
     public\directx\sdk\inc\renbaseasync.h
     public\directx\sdk\samples\dshow\baseclasses\renbase.cpp
     public\directx\sdk\samples\dshow\baseclasses\renbaseasync.cpp

  The following registry key is necessary to control the buffer size:

    [HKLM\Software\Microsoft\DirectX\DirectShow\WMADecoder]
    "MaxOutputFrameSize"=dword:<value>

The default value is 96X1024 bytes.

Component:  FileSys

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     private\winceos\coreos\fsd\fatfs\stream.c

Component:  GDI

Component:  IE

Component:  IME

Component:  .NET CF v2.0

Overview:

.NET Compact Framework v 2.0 update provides all the new .NET Compact Framework functionality in a new catalog item.  This new catalog item is in the Application and Services Development node next to the .NET Compact Framework v1.0 catalog.  These catalog items are mutually exclusive; one can be included in a project at a time.  If you are interested in developing .NET Compact Framework v2.0 applications, you need either Microsoft Visual Studio 2005 or the .NET Framework v2.0 SDK at: http://www.microsoft.com/downloads/details.aspx?FamilyId=FE6F2099-B7B4-4F47-A244-C96D69C35DEC&displaylang=en 

Installation Instruction:

  1. Close Platform Builder

  2. Run the an update that matches the processor for your project.

  3. Run Platform Builder and add the new .NET Compact Framework v2.0 Catalog item to your workspace.   If the workspace includes .NET Compact Framework v1.0, remove it before adding .NET Compact Framework v2.0.

Issues:

  1. If you add .NET Compact Framework v2.0 and any catalog item which includes the .NET Compact Framework v1 dependencies like the Standard SDK, it will include the .NET Compact Framework v1.0 dependencies.  This behavior is benign as the .NET Compact Framework v2.0 dependencies are a superset of the .NET Compact Framework v1.0 dependencies.

  2. The Smart Devices Authentication Utility is not included with the .NET Compact Framework v2.0 Catalog item.  For instructions on debugging .NET Compact Framework v2.0 applications without using ActiveSync see:  http://msdn2.microsoft.com/en-us/library/ms228708.aspx

.NET Compact Framework v2.0 New Features

The .NET Compact Framework version v2.0 extends the .NET Compact Framework v1.0 with new features, improvements to existing features, and expanded support of classes in the full .NET Compact Framework.

The following table summarizes the expanded support.

Expanded support

Description

Application domains

Support is provided for unloading an application domain.

Anonymous methods

The .NET Compact Framework v2.0 supports the new C# feature that lets you include the event-handling code in the delegate, as shown in the following example:

// In constructor.

button.Click += new EventHandler(sender,args)

{

// Increment a counter or other action.

};

Cryptographic support

The following features are supported:

  • X.509 certificates

  • Hashing:

MD5 and SHA1

  • Symmetric key encryption:

RC2, RC4, 3DES, DES

  • Asymmetric key encryption:

RSA, DSA

DataSet improvements

The GetChanges method is supported, along with more classes in the System.Data namespace.

Events

Internal improvements have been made in raising events.

Exceptions

Improved exception handling by the following:

  • System.Windows.Forms.TabControl.SelectedIndexChanged event
  • System.Windows.Forms.TrackBar.ValueChanged event
  • TreeView events
  • All changed events for selected items in a ComboBox and ListBox, such as the SelectedIndexChanged event.

Generics

Support subset of .NET Compact Framework Generics.

Globalization

Additional encodings are supported.

Assemblies

Friend Assemblies (C# Programming Guide) are supported.

Networking

Support for NTLM authentication and support for IPv6, the next generation of the Internet protocol.

CredentialCache is supported.

Performance for XML serialization is improved.

The .NET Compact Framework v2.0 supports SOAP 1.2.

The .NET Compact Framework v2.0 supports the following authentication protocols:

  • Negotiate
  • NTLM
  • Kerberos

Message Queuing (MSMQ)

Core functionality of using the MSMQ component and the System.Messaging classes is available.

Partial classes

The .NET Compact Framework v2.0 supports partial classes, as used in Microsoft Visual Studio 2005 when you create a new project.

Registry keys

You can set registry keys by using the RegistryKey class.

An open RegistryKey and its open child RegistryKey objects must be explicitly closed before deletion of the key.

The maximum depth of registry keys is 15. This is a Windows CE 5.0 limitation.

Serial ports

You can access serial ports as you can in the full .NET Framework. Four ports are supported. For an example, see Serial Communication Application Sample. Support for serial ports is also available with the Visual Studio 2005 emulators.

SQL Server

Support for SQL Server 2005 Mobile Edition

Strings

The Substring method throws an exception if the startIndex parameter is greater than the length parameter.

String.Empty.Substring(0, 1) throws an ArgumentException.

Threading

Support for the BeginInvoke, EndInvoke methods, and using parameters with the Invoke method.

Visual Basic My objects

The .NET Compact Framework v2.0 supports the following My objects:

  • My.Resources Object
  • My.WebServices Object
  • My.Forms Object

XML support

XML support includes:

  • XmlSerializer class
  • System.Xml.XPath namespace
  • System.Xml.Schema namespace

New Features

The following table summarizes new device-specific features in the .NET Compact Framework v2.0:

Feature

Description

Stand-alone development

Although command-line compilation is supported in the .NET Compact Framework v1.0, the .NET Compact Framework v2.0 provides greater stand-alone compiling and debugging support. The .NET Compact Framework SDK is included in the .NET Framework stand-alone SDK.

Force an earlier .NET Compact Framework version application to run on version 2.0

Applications written and compiled using .NET Compact Framework v1.0 will run automatically on a device which includes .NET Compact Framework v2.0 in ROM.

New controls in Microsoft.WindowsCE.Forms

Including:  Notification, DocumentList, HarwareButton, InputMethodCollection, InputMode, LogFont, MessageWIndow, MobileDevice, ScreenOrientation

Managed D3D for Mobility

Provides Managed wrappers for D3D Mobility.

Interoperability Enhancements

The .NET Compact Framework v2.0 provides the following interoperability enhancements:

Although the .NET Compact Framework v2.0 supports only a subset of the System.Runtime.InteropServices namespace, advanced marshaling capabilities are available with the support of the MarshalAsAttribute attribute. In addition, the .NET Compact Framework v2.0 supports several new members in the Marshal class. You can marshal a wide range of types through COM into the .NET Compact Framework, including all OLE Automation types. Custom marshaling, the COM single-threaded apartment (STA) threading model, and auto-generating class interfaces is not supported.

You can also use the .NET Framework SDK Type Library Importer (Tlbimp.exe) with the .NET Compact Framework v2.0. In Visual Studio, you can add a reference to a COM type library in a device project.

Regarding packed structures, the .NET Compact Framework v2.0 does not support Pack, but it does support the Explicit field and the FieldOffsetAttribute attribute. Note that current restrictions prevent marshaling a structure that violates the native structure layout; in other words, Int32 values must be 4-byte aligned, Int64 and Double values must be 8-byte aligned, and so on. If you need a packed structure where the elements are not naturally aligned, you must do the marshaling yourself.

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     public\cebase\oak\misc\netcfv2.bat
     public\netcfv2\netcfv2.cec
     public\netcfv2\cesysgen\makefile
     public\netcfv2\cesysgen\sources
     public\netcfv2\oak\files\netcfv2.bib
     public\netcfv2\oak\files\netcfv2.reg

Component:  Regcomp.exe

Component:  Registry (ROM)

Component:  TimeSVC

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

     private\servers\timesvc2\dst\dst.cpp
     private\servers\timesvc2\dst\dst.h
     private\servers\timesvc2\inc\timesvc.h
     private\servers\timesvc2\sntp\sntp.cxx
     private\servers\timesvc2\stubs\dst_stubs.cxx
     private\servers\timesvc2\svc\timesvc.cxx