Creating a custom shell in Compact 2013

Posted By Colin Murphy
Technical Program Manager, Microsoft’s Windows Embedded

The shell you say! What is a shell, anyway? Typically a shell application manages the base user interface of the system including access to applications and files and the ability to configure the system. In the case of an embedded device, a typical multi-function desktop shell is overkill, taking up way too much space and requiring far more overhead than a purpose-driven embedded device wants or needs.

With that in mind, one of the most noticeable changes to Window Embedded Compact 2013 is the removal of the large and dated Windows 95-style shell. The Compact team was quite torn on this decision; on the one hand, it was an excellent developer tool-- easy to launch files, everyone knew how to use it--but when that same shell appears on your refrigerator, digital sign or vending machine, people were not as impressed by its versatility. Enter MinShell. This new Compact shell offers a much smaller feature set. It is basically an application launcher that can be customized to launch any application. For developers, it comes preset to launch “CMD.EXE,” a DOS command processor, so you can copy and launch applications as needed. But MinShell is designed, and begs to be, replaced.

I highly recommend watching the recording of Doug Boling’s webinar, “Windows Embedded Compact 2013 Shell Development: Getting all GUI!” as he clones and customizes MinShell in the way it was intended.


The XAML shell


The MinShell