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