Windows CE 5.0 - CEC Files.

With Windows CE .NET 4.2 I worked on a sample XML Web
Service written in native code (an ATL/COM object written in eMbedded Visual C++
4.0) - once the ATL/COM object was complete I needed a way to generate the
WSDL/WSML files - the Windows CE product ships with a command line based
application to generate the WSDL and WSML files, this is called wsdlstb_ce -
it's a command line tool that takes the following parameters...

 
1wsdlstb_ce [-U] [-P{CLSID}PROGID] [-I Interfacename] [-I Interfacename::method1,method2...] COMObjectPath ASPListenerURI WSDLFilePath

Pretty neat huh? - don't you just love typing GUID's
into a command line tool ? - so I wrote the CEWSDLGen application (the source
ships with Windows CE 4.2 - C:\WINCE420\PUBLIC\SERVERS\SDK\SAMPLES\SOAP\UTILS) -
this is a C# application that parses the .RGS file of the eMbedded Visual C++
project to pull out all the information needed to generate the WSDL and WSML
files - at the same time the tool also generates the .CEC file needed to include
the ATL/COM object into the o/s, and included the o/s dependencies needed to
support the XML web service (ATL/COM, SOAP toolkit, HTTPD Web Server etc...),
but wait, there's more... the application also created the .BIB, .DAT, and .REG
file needed to host the ATL/COM object in the o/s - (the most useful of which is
the .REG file, after all, you want the ATL/COM object to be registered at boot
time, right?).

Windows CE 5.0 totally changes the build system for
Windows CE - previously the IDE and command line were two different systems,
now, the build system for the command line and for the IDE are one in the same,
this changes the way that CEC files work, in Windows CE .NET 4.2 the CEC file
could contain build information and also pull in additional dependencies, this
is not the case for Windows CE 5.0 - the .CEC file simply points to the build
folder for the project - the project now uses a sources file to determine what
needs to be built, so I'm now working on a new version of the CEWSDLGen tool for
Windows CE 5.0.

You will also notice that the name of the product has
changed from Windows CE .NET 4.2, to Windows CE 5.0, the .NET has been dropped
from the name - having .NET in the name was somewhat confusing - some customers
thought that you could only program apps for the o/s using managed application
devleopment, this was not the case, Windows CE still exposes Win32, you can
write applications in C++ (Win32, MFC, ATL), or managed applicaiton development
in C# or VB. The .NET Compact Framework is still included with Windows CE 5.0,
so if you want to write managed applications, that's fine.

- Mike