Windows CE .NET 4.1 Yearly Update Package, December 31, 2007

 

2008 Microsoft Corporation. All rights reserved.

 

 

How to Install this Update

All updates for Windows CE .NET 4.1 require the following:

 

1) Platform Builder .NET 4.1 is installed on the machine.

2) The current user has run Platform Builder .NET 4.1 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:

 

 
WinCEPB41-080101-Update_ALL-ARMV4I-ENU.EXE     For installations based upon the ARM V4I family processors
WinCEPB41-080101-Update_ALL-ARMV4T-ENU.EXE     For installations based upon the ARM V4T family processors
WinCEPB41-080101-Update_ALL-ARMV4-ENU.EXE     For installations based upon the ARM V4 family processors
WinCEPB41-080101-Update_ALL-MIPS16-ENU.EXE     For installations based upon the MIPS-16 family processors
WinCEPB41-080101-Update_ALL-MIPSII_FP-ENU.EXE     For installations based upon the MIPS II floating point family processors
WinCEPB41-080101-Update_ALL-MIPSII-ENU.EXE     For installations based upon the MIPS II family processors
WinCEPB41-080101-Update_ALL-MIPSIV_FP-ENU.EXE     For installations based upon the MIPS IV floating point family processors
WinCEPB41-080101-Update_ALL-MIPSIV-ENU.EXE     For installations based upon the MIPS IV family processors
WinCEPB41-080101-Update_ALL-SH3-ENU.EXE     For installations based upon the Hitachi SH3 processor
WinCEPB41-080101-Update_ALL-SH4-ENU.EXE     For installations based upon the Hitachi SH4 processor
WinCEPB41-080101-Update_ALL-X86-ENU.EXE     For installations based upon the Intel x86 family processors

 

This package will install all updates directly to your build environment.  A backup of all updated files will be maintained at the following location:  %_WINCEROOT%\BACKUP.  You can remove any files from this directory at your choosing.

  

If You Have Installed Previous Updates

If you have installed previous updates (for Windows CE .NET 4.1), this will update your build environment to include the latest files for this component.

 

Special note for users of Japanese Platform Builder .Net 4.1

One of the included updates has two versions - one for Platform Builder .Net 4.1 English, the other for Platform Builder .Net 4.1 Japanese.  If you use Platform Builder .NET 4.1 Japanese, please download the following files:

 

WinCEPB41-080101-Update_ALL-ARMV4I-JPN.EXE     For installations based upon the ARM V4I family processors
WinCEPB41-080101-Update_ALL-ARMV4T-JPN.EXE     For installations based upon the ARM V4T family processors
WinCEPB41-080101-Update_ALL-ARMV4-JPN.EXE     For installations based upon the ARM V4 family processors
WinCEPB41-080101-Update_ALL-MIPS16-JPN.EXE     For installations based upon the MIPS-16 family processors
WinCEPB41-080101-Update_ALL-MIPSII_FP-JPN.EXE     For installations based upon the MIPS II floating point family processors
WinCEPB41-080101-Update_ALL-MIPSII-JPN.EXE     For installations based upon the MIPS II family processors
WinCEPB41-080101-Update_ALL-MIPSIV_FP-JPN.EXE     For installations based upon the MIPS IV floating point family processors
WinCEPB41-080101-Update_ALL-MIPSIV-JPN.EXE     For installations based upon the MIPS IV family processors
WinCEPB41-080101-Update_ALL-SH3-JPN.EXE     For installations based upon the Hitachi SH3 processor
WinCEPB41-080101-Update_ALL-SH4-JPN.EXE     For installations based upon the Hitachi SH4 processor
WinCEPB41-080101-Update_ALL-X86-JPN.EXE     For installations based upon the Intel x86 family processors

 

If You See "These files were NOT installed"

If this message is displayed, it means that you have installed an update package with a later version of the installed file.  You will already have the updates mentioned in this document, including something later (documented with that later update).  This message is displayed to prevent accidental overwrite of the latest Windows CE update to that particular component.

 

 

Fixes Made in this Update:

 

By Component:

 

Component:  ActiveSync

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

public\datasync\sdk\inc\cesync.h

Component:  AFD

Component:  Arm Compiler

Component:  ASP

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

private\servers\asp\core\response.cpp

Component:  ATL

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

     others\atl\include\ATLCOM.H

     others\atl\include\ATLHOST.H

Component:  COMM

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

public\common\oak\inc\eapol.h

private\servers\soap2\sources\inc\soaputil\soaphresult.h

private\servers\soap2\sources\inc\soaputil\utility.h

private\servers\soap2\sources\src\Connect\WIConn\wininetconnector.cpp

private\servers\soap2\sources\src\Connect\WIConn\wininetrequeststream.cpp

public\common\oak\drivers\netui\quickconfigui.c

public\common\oak\drivers\netui\wzcquickcfgui.c

public\common\oak\drivers\netsamp\connmc\lanconninfo.cpp

public\common\oak\drivers\netsamp\ndispwr\ndispwr.c

public\common\cesysgen\makefile

private\winceos\comm\dhcp\dhcp.c

Component:  COMMCTRL

Component:  CORELOC

Component:  CPLMAIN

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

public\wceshellfe\oak\ctlpnl\cplmain\screen.cpp

public\wceshellfe\oak\ctlpnl\cplmain\cplutils.cpp

Component:  CRYPT32

Component:  CVTRBIN

Component:  DCOM

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\init.c

Component:  DirectX

Component:  Edit control

Component:  FATFS

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

public\wceshellfe\oak\ctlpnl\cplmain\screen.cpp

public\wceshellfe\oak\ctlpnl\cplmain\cplutils.cpp

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

private\winceos\coreos\storage\fsdmain\fsdmain.cpp

private\winceos\coreos\storage\dospart\helper.cpp

private\winceos\coreos\storage\dospart\part.cpp

private\winceos\coreos\fsd\fatfs\fatfs.h

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

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

public\wceshellfe\oak\ctlpnl\cplmain\cplutils.cpp

public\wceshellfe\oak\ctlpnl\cplmain\cplutils.cpp

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

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

Component:  File Viewers

This Update fixes the following issue with the “File Viewers” Project:

  1. The wrong data file ICONs are referenced in the viewers.reg file.

  2. The Image Viewer recent directories drop down list was sized too small.

  3. The Excel Viewer was not correctly displaying slide names.

  4. The PowerPoint Viewer was not correctly displaying the black slide when utilizing an external display.

  5. The PDF Viewer object files are corrupt.

Additional PDF Viewer Notes:

 

Support format includes PDF documents compliant with version 1.3 (or earlier) of the PDF format.

 

The PDF Viewer has additional font requirements. The v1.3 of the PDF specification calls for the following standard fonts commonly used in PDF files: Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique, Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique, Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic, Symbol and ZapfDingbats.

 

Windows CE .NET 4.1 does not ship several of these fonts so the PDF Viewer will make the following substitutions:

Courier --> Courier New

Helvetica --> Arial

Times --> Times New Roman

Symbol --> Symbol

ZapfDingbats --> Wingding

It is recommended that OEMs include these five fonts to enable a positive user experience with the PDF Viewer.

 

Current PDF Viewer Limitations:

  1. CCITTFaxDecode images are not supported

  2. Encrypted files are not supported.  An error message is displayed when an encrypted documents is encountered.

  3. Acrobat Forms are not supported and no content will be shown.

  4. Type 3 fonts are not supported but some attempt is made to map them if a ToUnicode mapping exists.

  5. Type 1 fonts are mapped using either the Encoding or ToUnicode mappings depending upon what is available.

  6. Clip paths are not supported.

  7. Polypolygons will be treated as polygons and may have the interiors filled.

  8. Embedded TrueType fonts are not used but are mapped to existing fonts already installed on the system.

  9. Colors from unsupported colors spaces (such as ICCBased or DeviceN color) may be displayed incorrectly.

  10. Text is only shown at 90 degree rotations.

  11. Predictive ZIP decoding and CMYK JPEGs are not supported.

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

public\viewers\cesysgen\makefile

public\viewers\oak\files\viewers.reg

Component:  Filesys

To enable this feature, the OEM needs to set the following registry key:

[HKEY_LOCAL_MACHINE\Init\BootVars]
"MasterKeysInRegistry"=dword:1

Component:  FSDMGR

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

     private\winceos\COREOS\storage\fsdserv\fsdalloc.cpp
     private\winceos\COREOS\storage\fsdserv\fsdapis.cpp

     private\winceos\COREOS\fsd\fatfs\volume.c

Component:  FSMAIN

A new registry key was implemented with this update.  If it is not set, Windows CE .NET 4.1 will use its default value.

HKLM\System\ObjectStore

"CompactionPrio256" = dword:251

0 is the highest priority, 255 (THREAD_PRIORITY_IDLE) is the lowest.

Component:  GWES

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

platform\cepc\kernel\hal\oemioctl.c

public\common\oak\inc\pkfuncs.h

Component:  HWX (Korean)

Component:  IDE

Component:  IE

Component:  IECEEXT

Component:  ImageViewer

Component:  IME

Component:  IR

Component:  JSCRIPT

Component:  MFC

Description of issues addressed in this update:

These are fixes in MFC OLECE400(d).DLL libraries that result in an assert for the described dispatch parameter types, incorrect function parameters and return values on SH3, SH4, MIPSII_FP and MIPSIV_FP platforms.

This update modifies the following MFC source files: dispimpl.h, oledisp1.cpp, oledisp2.cpp, and afxdisp.h. This package also updates the MFC libraries OLECE400(d).DLL. The updated MFC libraries can be redistributed when exporting a platform SDK.

Information for OEMs (Original Equipment Manufacturers):
After applying this update, a platform SDK should be re-exported to update it with the libraries and source files provided by this update. It is not necessary to rebuild any DLLs included in the platform that use the shared MFC DLL.

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

     others\MFC\include\afxdisp.h
     others\MFC\include\afxver_.h
     others\MFC\include\MIPS2ThunkBldr.h
     others\MFC\include\MIPS4ThunkBldr.h
     others\MFC\include\SH4ThunkBldr.h
     others\MFC\src\dispimpl.h
     others\MFC\src\dllmodul.cpp
     others\MFC\src\oledisp1.cpp
     others\MFC\src\oledisp2.cpp
     others\MFC\src\wceole.cpp

Component:  MSHTML

Component:  NK

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

private\winceos\coreos\nk\kernel\kwin32.c

private\winceos\coreos\nk\kernel\loader.c

private\winceos\coreos\nk\kernel\profiler.c

private\winceos\coreos\nk\inc\mem_arm.h

private\winceos\coreos\nk\inc\mem_mips.h

private\winceos\coreos\nk\inc\mem_shx.h

private\winceos\coreos\nk\inc\mem_x86.h

private\winceos\coreos\nk\inc\nkarm.h

private\winceos\coreos\nk\kernel\physmem.c

private\winceos\coreos\nk\kernel\schedule.c

private\winceos\coreos\nk\kernel\virtmem.c

private\winceos\coreos\nk\kernel\arm\armtrap.s

private\winceos\coreos\nk\kernel\arm\mdarm.c

private\winceos\coreos\nk\kernel\mips\mdsched.c

private\winceos\coreos\nk\kernel\sh\mdsh3.c

private\winceos\coreos\nk\kernel\x86\fault.c

private\winceos\coreos\nk\inc\kernel.h

private\winceos\coreos\nk\inc\ksarm.h

private\winceos\coreos\nk\inc\altimports.h

private\winceos\coreos\nk\verifier\verifier.c

private\winceos\coreos\nk\mapfile\mapfile.c

Component:  L3CODECL

Component:  MAPFILE

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

     private\winceos\coreos\nk\mapfile\mapfile.c

Component:  Media Player

Component:  Messenger

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

public\directx\cesysgen\makefile

Component:  MFC

This is a fix for a problem in MFC libraries that may result in occasional heap corruption for dlls using the shared MFC DLL.  This modifies a single MFC source file, dllmodul.cpp, and the MFC libraries that include it.  The fixed MFC libraries are used to create dlls using the shared MFC DLL and these MFC libraries can be redistributed when exporting a platform SDK. 

Information for OEM

After applying this Update, the platform SDK should be exported to update it with the libraries and source file provided by this Update.  Also, any dlls included in the platform that use the shared MFC DLL should be rebuilt.

Information for Developers

The modification in the MFC source file, dllmodul.cpp, is to modify the function call, AfxTermThread(), to include a parameter in the call, AfxTermThread(hInstance).  This prevents memory from being free that is still referenced in MFC.  The source file, dllmodul.cpp, is included in the libraries mfcs42.lib and mfcs42d.lib which are also replaced by this Update.

Description of issues addressed in this Update:
- An update to implement proper handling of VT_I1, VT_UI2, VT_UI4, VT_R4 and VT_R8 dispatch parameters for SH4, MIPSII_FP and MIPSIV_FP CPUs.
- Improvement to CPU-specific thunk code according to the correct calling convention for SH3, SH4, MIPSII_FP and MIPSIV_FP.
- Eliminates a memory leak in dispatch code marshaling.

These are fixes in MFC OLECE400(d).DLL libraries that result in an assert for the described dispatch parameter types, incorrect function parameters and return values on SH3, SH4, MIPSII_FP and MIPSIV_FP platforms.

This update modifies the following MFC source files: dispimpl.h, oledisp1.cpp, oledisp2.cpp, and afxdisp.h. This package also updates the MFC libraries OLECE400(d).DLL. The updated MFC libraries can be redistributed when exporting a platform SDK.

Information for OEMs (Original Equipment Manufacturers):
After applying this Update, a platform SDK should be re-exported to update it with the libraries and source files provided by this Update. It is not necessary to rebuild any DLLs included in the platform that use the shared MFC DLL.

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

others\mfc\src\oledisp2.cpp

others\mfc\include\afxdisp.h

others\mfc\src\oledisp1.cpp

others\mfc\src\dispimpl.h

others\mfc\src\dllmodul.cpp

Component:  MSHTML

Component:  MSTSC

Component:  MSGQUE

Component:  Multimedia

Component:  NDIS

Component:  .Net Compact Framework

Component:  NETUI

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

public\common\oak\drivers\netui\wzcprops.c
public\common\oak\drivers\netui\wzcui.c

Component:  NMAKE

Component:  Object Store

Component:  PPTP

Component:  pMail

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

public\wceappsfe\oak\files\wceappsfe.bib

Component:  POOM

Component:  PPP

Component:  pWord

Component:  RAPISRV

Component:  RDNIS

Component:  RDP

In order to properly address this issue, the following registry changes need to be made on the device (for example, in PUBLIC\RDP\OAK\FILES\rdp.reg).  The keyboard layout code will need to be changed to an 0xExxx code - the following example is for Korean:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client]
"Keyboard Layout"="0x00000412" ; //Change this to 0xE0000412

More generally, the fix for this issue attempts to determine if the host supports VKPackets, which was support added to Windows XP Service Pack 1.  IF VKPackets support is needed, the following addition may be made to the registry (public.reg is likely the best location):

[HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client]

"RequireVKPackets"=dword:1

Component:  RDRAPI

Component:  Redir

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

     private\winceos\coreos\nk\mapfile\mapfile.c

Component:  SHDOCVW

Component:  Shell

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

private\wceshellfe\jupiter\server\explorer\dst.cpp

private\wceshellfe\jupiter\server\explorer\stmenu.cpp

Component:  SNMP

1. first octet is 127

2. second octet is 0

3. third octet is 0

4. fourth octet is 1

Component:  TCP/IP

Component:  TimeSVC

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

     public\wceshellfe\oak\taskman\dst.cpp
     public\wceshellfe\oak\taskman\dst.h
     private\wceshellfe\jupiter\Server\explorer\dst.cpp
     private\wceshellfe\jupiter\Server\explorer\dst.h     

     public\wceshellfe\oak\files\wceshellfe.reg

Component:  Tools

Component:  Unimodem

In order to properly implement this change, the following registry key must be modified:

[HKEY_LOCAL_MACHINE\ExtModems\<CompanyX-modem>]
"CmdSendDelay"=dword:<value>

Where:  <CompanyX-modem> is the name of the modem in the registry and <value> is the hex value of the delay (in milliseconds).  This is a maximum of 500 ms.

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

private\winceos\comm\tapi\unimodem\dial.c

private\winceos\comm\tapi\unimodem\misc.c

private\winceos\comm\tapi\unimodem\modem.c

private\winceos\comm\tapi\unimodem\tspip.h

Component:  URLMON

Component:  VBSCRIPT

Component:  Webview (pIE)

Component:  WININET