XPE Weekly (10 July 2007)
"Microsoft® Windows® XP Embedded provides the ability to build a customized operating system image which contains the components and technologies that are appropriate for your specific device. The image may contain customized device drivers and applications, and in some cases, it would also be appropriate to boot the Windows XP Embedded device directly into a customized application, or shell. This could prevent users from switching applications, accessing the control panel, or underlying filing system of the device. A retail point of sale (RPOS) device could simply boot directly into the RPOS application."
This week's XPE Weekly will kick off with an intermediate tutorial on how to create a custom shell.
A Client this week requested a panel PC that only shows his website. The website must not have a start button, task bar or any other normal windows features. The website must also not be changeable (i.e. No address bar, etc). After a little research I found that IE can be used in KIOSK mode by calling IExplore.exe with a -k parameter. The next step was to create a custom shell that only launches IExplore.exe in KIOSK mode.
Microsoft Component Designer will be used to create the new custom shell that we will be using.
•1. Launch Component Designer
- 2. File -> New
- 3. Right-click on the Components folder and select Add Component.
- 4. Rename the component to a friendlier name. I renamed mine to "IE Kiosk Mode Shell" by changing the name in the Component Properties on the right hand side.
- 5. Next we must select a prototype. On the right hand side, select Browse. Make sure that the Database is selected and then search for Software -> System -> User Interface -> Shell -> Windows Shell and select Shell Prototype Component
- 6. We now have to tell the component which program to run on start-up. The start-up application is indicated by the cmiShellPath property. On the right hand side, click on the Advanced button. This will display a dialog box that can be used to add custom properties. Click on Add. The name of the property is cmiShellPath and the value is "IExplore.exe -k http://www.deat.gov.za/"
- 7. Lastly, you need to associate the new component with "shell" dependency group by adding a Group Membership. Right-click on the Group Memberships and select Add Group Membership
- 8. Select Categories -> Software -> System -> User Interface -> Shells
That is all that is required to make a basic custom shell.
The next step is to import this component (.SLD) into the database. Launch the Component Database Manager and click on Import. In the dialog box, browse to the create component (.SLD) and click on Import.
Now this component is available for use when building the image. When we create a new image, and run dependency checker, our newly created shell should show as a possible solution for the dependency
I finally build my image and launched it on my Panel PC. Only Internet Explorer was launched and it used KIOSK mode. Here is a picture of my POC running XPE + IE7 + Silverlight
That is all for this week. I will hopefully publish my beginner tutorial next week. If you have any question, please email me on rudi@cme.co.za