The OS should have
1. Run CEComponentWiz and create a new project.
2. Menu,Generate Component—>Component Details—> Call it MinShellExtensions Add a Description, Comment and Vendor name
3. Get content: Menu, Get Content—>Images and browse to the MinShell directory and select desktop.bmp:
C:\WINCE800\Public\Shell\oak\MinShell This file is the image that is displayed on the desktop in MinShell. At least one file is required as content before CEComponnentWiz will generate the subproject. The required registry entries will be added manually to this file is used as dummy. A later activity will extend this activity so as to make the image also a registry entry so as to be able to change it.
C:\WINCE800\Public\Shell\oak\MinShell
This file is the image that is displayed on the desktop in MinShell. At least one file is required as content before CEComponnentWiz will generate the subproject. The required registry entries will be added manually to this file is used as dummy. A later activity will extend this activity so as to make the image also a registry entry so as to be able to change it.
4. Make sure the file is under the FILES section
5. Set the OS Version to 8.00
6. Save the project: Menu, File—>Save Project
7. Generate the subproject: Generate Component Menu, Project—>Generate Development Project
8. Generate the Third Party Version: Menu, Generate Component Project—>Publish Component to 3rd Party (and Catalog File)
9. Close the wizard
10. Refresh the Catalog and add the project from under the Third Party branch in the Catalog.
11. Add the following to the MinShellExtensions.reg
; ========================================================================================; Minshell Extensions; ========================================================================================IF SYSGEN_MINSHELLEXTENSIONS=1IF SYSGEN_NETUTILS=1; Menu for Command Prompt[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Minshell\Ipconfig] "App"="ipconfig.exe" "Param"="/d"ENDIF SYSGEN_NETUTILSIF SYSGEN_CORECON=1; Menu for Cmaccept3[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Minshell\Cmaccept3] "App"="cmaccept3.exe" "Param"=""; Menu for ConmanClient3[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Minshell\ConmanClient3] "App"="conmanclient3.exe" "Param"=""ENDIF SYSGEN_CORECONENDIF SYSGEN_MINSHELLEXTENSIONS; ========================================================================================
; ========================================================================================; Minshell Extensions; ========================================================================================
IF SYSGEN_MINSHELLEXTENSIONS=1
IF SYSGEN_NETUTILS=1; Menu for Command Prompt[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Minshell\Ipconfig] "App"="ipconfig.exe" "Param"="/d"ENDIF SYSGEN_NETUTILS
IF SYSGEN_CORECON=1
; Menu for Cmaccept3[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Minshell\Cmaccept3] "App"="cmaccept3.exe" "Param"=""
; Menu for ConmanClient3[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Minshell\ConmanClient3] "App"="conmanclient3.exe" "Param"=""
ENDIF SYSGEN_CORECON
ENDIF SYSGEN_MINSHELLEXTENSIONS
; ========================================================================================
This works because when the MinShell menu is created it, iterates through HKLM\Software\Microsoft\MinShell registry entries adding a menu item for each entry. Note the conditionals on the registry items. They aren't included if the .exe is not in the image. 12. Build the subproject and OS: Just Build all Subprojects with Target Build setting to run MakeImage afterwards.
Footnote
There are two Codeplex projects that expand upon this theme:
NEXT:
Click here to provide feedback and input