My problem: 

I'm often giving Windows CE trainings using the same set of eBoxes, one of my concerns is preparing the boot configuration for each eBox in order to fulfill the course requirements:
  1. Build the OS with Platform Builder (eboot.bin)
  2. Develop applications with Visual Studio 2005 (Corecon 8.0)
  3. Develop applications with Visual Studio 2008 (Corecon 9.0)

Some options

Using DOSLOADER or BIOSLOADER you may set the eBox to offer several boot options but a keyboard hit is required at boot time to select a non-default option. In order to simplify the installation in the classroom, I use CERDISP to interact with the eBox running WinCE and no keyboard or screen is attached, therefore selecting an option at boot time is not possible.

Performing "target download" from Platform Builder is convenient for course #1 but PB insallation is not acceptable for courses #2 and course #3.

You could use a TFTP tool to do the job but the port# is non standard and you still need to catch the EBOOT packet...

The solution

I took the option to read the IP packets with ETHEREAL and to develop a dedicated download application: CELOADER. The whole thing endend up as a unique C source file containing 178 statements. It only requires UDP sokets and I even added a CERDISP listener to get the eBox IP address after boot, this is useful to connect with CORECON or TELNET.

Using CELOADER I can now use dedicated Windows CE images for each training situation, an never edit BOOT.INI or CONFIG.SYS 

If you are interested visit: http://celoader.codeplex.com