How do I add Platform Builder components to my CE device?

Let's say there's some cool feature you've just read about - say the CE File Server (i.e. SMB Server) - and you want to add it to your Windows CE device's ROM.  How you do this depends on who you are, what the device is, and what component you're looking to add.

I - You are an OEM
You're an OEM using Platform Builder (PB) to say build a WinCE based sewing machine.  In this case to add the SMB Server, you just select the SMB Server component from the PB IDE and drag and drop to your list of selected components.  You probably have figured this already on your own but I'm including this for completeness.

Selecting components from a higher version of the OS than you're using is not supported, however.  If you want say the SMB Server from CE 5.0 to run on a CE 4.0 device, this isn't going to work.  The CE 4.0 kernel won't load up a CE 5.0 binary for various reasons.  To get the SMB Server for CE 5.0, you'd need to upgrade your entire device to CE 5.0.

II - You're an ISV working with an OEM
Let's say you're developing some software that will run on a targeted device - like say some "learn how to sew" app for our sewing machine running CE 5.0.  If you want the SMB component, you cannot add it to the device yourself.  You must ask your OEM friends (hopefully you're friends!) you're working with to add it for you.

There is not a general mechanism for an ISV adding Platform Builder generated code from Microsoft onto a device themselves.  One of the big reasons has to do with the fact that WinCE is componentized.  Let's say that the sewing machine doesn't have a network stack (TCP/IP,...) included on it.  Well, SMB needs it.  So how would our ISV add SMB to the device when the underlying technology needed to make SMB work isn't there?  The answer is they can't.

III - You're an ISV working on a PocketPC who needs a limited set of apps
Developers writing to the PocketPC are just like the people in case II most of the time.  They can't bring in Platform Builder bits in the general case.  There are at least 2 cases where they can get PB specific bits.

If you need either the Web Server or MSMQ (both originally for Platform Builder) then these components are shipped in redistributable CAB files in the PocketPC SDK.  Microsoft determined that these components were popular enough on PocketPC that it was worth kitting them and testing them on this platform for ISVs.

There may of course be other bits that Microsoft ships like this.  Alas Microsoft is a big company and I'm not sure what those would be.

Finally -- I'm not making up the sewing machine running Windows CE.  See

[Author: John Spaith]

Comments (12)
  1. syncter says:

    Thanks for your in-depth explanation on Plafform Builder.

    From your weblog, I understood is that ISV can’t include component from Platform Builder. Currently, I am developing an application to support Session Initiation Protocol stack on Windows Mobile 2003 platform. However, Real-time Communications (RTC) Client API is not supported on Windows Mobile 2003 but WinCE does. Do you have any suggestion on how can I expose the RTC without using the Platform Builder?

    Or do I have to write my own SIP stack to support it?




  2. cenet says:

    First off syncter I apologize for the very long reply on this. I thougth the blog was configured to send me a notice whenever someone created a comment, but apparently it’s not.

    Unfortunately there’s no way to add the Microsoft RTC stack to a PocketPC phone, so you’re on your own here. Sorry.

  3. A common error some Windows CE developers hit when using MSXML is that they call into some functionality…

  4. Ste Millington says:

    Is there any way to add support for Windows Networking to a WM5.0 smartphone. I think I need redir.dll and netbios.dll.

    Is this possible? Real oversight if not, newer smartphones have in built wifi

  5. Bernd Schoelzel says:

    Hi John,

    first of all thank you for your great overview on the Platform Builder.

    Please let me ask you a question: I have a BSP for an embedded device running WinCE 5.0. Now as i want to run C# applications on it i added the .NET Compact Framework 1.0 to my OS image which works quite fine.

    But how do I add the .NET Compact Framework 2.0 to the Platform Builder Catalog? I already installed the .NET Compact Framework 2.0 on my development PC but i can’t get it into my available packages of the Platform Builder.

    Any help on how to get it working with the PB would be greatly appreciated.

    Yours sincerely

    Bernd Schoelzel

    [bernd.schoelzel at]

  6. cenet says:

    Sorry for delay Bernd, the blog software doesn’t notify me of new updates but I thought I’d got it to.

    I’m not sure if Platform Builder CE 5.0 shipped Compact Framework 2.0 or not to be honest — you’d need to check out the documentation.  I believe CF 2 did ship for Windows Mobile 5, but components on WM5 aren’t necessarily available for CE 5.0.

    You’ll probably find more knowledgeble folks on  microsoft.public.dotnet.framework.compactframework and/or microsoft.public.windowsce.platbuilder newsgroups.

  7. All I know is youre throwing away an awful lot of money <a href="">play65</a&gt; A blackjack is therefore an Ace and any tenvalued card,  <a href="">backgammon online</a> helping you out So dont tell me I gotta stay cooped up in here and  <a href="">online backgammon</a>  Me neither Ive always wondered whether they slept together before .

  8. So you want to do something with XML on WinCE / Windows Mobile and want to see sample code to do it.

  9. Dan says:

    My .cab file is getting corrupted in the build. I tried including it in the Modules section of platform.bib, and it wouldn’t build. It builds fine in the Files section, but a chunk of it does not get included. :{

  10. Dan says:

    This appears to be due to a PAGE. I moved the .cab files to the top of the list of files in the FILES section, and it appears to be building correctly.

  11. Dan says:

    …well… at least on webpad |-{.

Comments are closed.

Skip to main content