Why can’t I add MSXML3 on PocketPC 2000-2003 devices?


Windows Mobile 5.0 shipped MSXML3, as I describe here.  On PocketPC 2000-2003 devices, we ship MSXML2.  Both of these are pretty much straight ports from the desktop MSXML versions, with some features removed and some tweaking to better conserve RAM on small devices.  Alas not everyone has went out and upgraded to a Windows Mobile 5.0 device, so people still are stuck with various limitations of MSXML2 when targeting older devices.


One source of confusion is that Windows CE 4.2 for general embedded shipped MSXML3.0.  That is the same version of the OS that is on PocketPC 2003.  So why is it that PPC2003 has MSXML2 and not MSXML3?  The reason is that the PPC team was extremely tight on ROM.  Going from MSXML2->3 would've cost something a few hundred KB of ROM space, which they did not have.  If I recall correctly, they were targeting 16MB ROM devices at the low end.  These ROM pressures aren't so bad in WM5 devices, so we could get MSXML3 in.  There was also some market pressure to do this -- i.e. people like you who read this blog and yell at me for not giving you the features you want :).


Can you backport MSXML3 to a PocketPC 2003 device?  In theory, yes.  As long as you have Platform Builder 4.2, you could generate MSXML3.dll and put the required registry settings in a .cab file and you'd be good to go.  In actual practice this isn't allowed, not due to technical but due to the license agreement of Platform Builder.  Sorry folks - this is a marketing/legal thing and I'm only able to help with engineering issues.  Microsoft isn't going to do this because if MSXML3 for PPC 2003 came from us, we'd need to make it official which would mean an enormous amount of testing.


Wish we had a better story here.


[Author: John Spaith]

Comments (4)

  1. Andrew says:

    Thanks for the explanation!

    I am quite new to the Platform Builder. (I am using it to get a better understanding of Windows CE features rather than any desire to build my own platform)

    Maybe I should have read the EULA a little closer, but if I wanted any feature available in Windows CE 5.0 but not Windows Mobile 5.0, then I wouldn’t be allowed by MS to use the Platform Builder in any way to do this? Even if I made it clear that this feature was being implemented by myself and not supported by MS?

  2. cenet says:

    Your best bet here is to talk to your technical account manager or whoever it was you obtained Platform Builder from. They’ll be able to help you with EULA issues much better than I can. I’m an engineer, not a lawyer :).

  3. Andrew says:

    I believe I got mine as an evaluation from an MEDC event, so no support there. 😉 Well, it was more out of curiousity anyway!

    Are there any features available in Windows CE 5.0 that you wished made it into Windows Mobile 5.0? (Thankyou so much that the Watchdog Timer made it!)

  4. cenet says:

    Are there any features available in Windows CE 5.0 that you wished made it into Windows Mobile 5.0?

    I wish there had been room for MSXML error strings to make developing easier, but that’s a lot easier to swallow than the XSLT/other MSXML3 features. Beyond that I was happy with the feature set, at least of techs I own.

Skip to main content