If you're building a CE image and want to include CF 1.0 or CF 2.0, then it's pretty simple - just drag the component from the catalog into your workspace. But what if you don't want to include the CF at all, but still have the plumbing there so your end-user can install the CF themselves and have it work? One could look through the cesysgen.bat files and decipher what needs to be set or, if you're lazy like me, you could ask the CF team.
Here's the answer, courtesy of Jim Suplizio:
The appropriate support sysgen will have to be added to the image depending on what version of CF is going to be installed.
- SYSGEN_DOTNET_SUPPORT is the CF 1.0 support sysgen.
- SYSGEN_DOTNETV2_SUPPORT is the CF 2.0 support sysgen. SYSGEN_DOTNETV2_SUPPORT is a super-set of the CF 1.0 support.
Effectively if SYSGEN_DOTNETV2_SUPPORT is added to the image then the end user can deploy either 1.0 or 2.0 and all of the required underlying CE OS pieces will be there.
Keep in mind that required means "base functionality". CF 2.0 has optional functionality that requires other SYSGENS and they are as follows:
- Message Queuing - SYSGEN_MSMQ
- Soap Reliable Messaging Protocol - SYSGEN_MSMQ_SRMP
- SQLMobile (2005) requires CoCreateGuid functionality - SYSGEN_OLE_GUIDS
- IPv6 - SYSGEN_TCPIP6
- IE, PIE, HTMLView (htmlview.dll) or nothing - SYSGEN_IE, SYSGEN_PIE, SYSGEN_HELP or simply nothing.
- The following only apply to the MainstoneII, other devices will only have null driver sets:
- D3D Mobile - BSP_D3DM_XSCALE
- D3D Mobile - SYSGEN_D3DMXSCALE