Hi Daniel,
Checkout this old but still very relevant article in the MSDN library:
http://msdn.microsoft.com/library/en-us/dnce21/html/appin21.asp
The CabWiz .inf file enables the creation of platform specific cab files
through the use of platform labels and the CEDevice key. For more info on
the CEDevice key see:
http://msdn.microsoft.com/library/en-us/wcepb40/html/pbrefCEDevice.asp
The platform labels tell CabWiz how many .cab files to generate, where to
get the CPU-specific binary files, and the platform information to
incorporate into the .cab file. The Application Manager uses this
information to determine the appropriate .cab file to install on the end
user's device.
Platform labels are unique labels that are appended to specific sections in
the CabWiz .inf file, for example, HPC_SH3, PPC_MIPS, or HPCPRO_ARM. The
CEDevice section differentiates the platforms, which allows for
device-specific information, the processor type, the device types, Handheld
PC or Palm-size PC support, and the Windows CE version support. These
platform labels also need to be specified in the command-line parameters
when invoking CabWiz.
In the case of the .inf from the sample pointed to by the FAQ "3.1. How do I
create a PocketPC setup application?" there are no platform specific labels.
Inspection of the BuildCab.bat file shows that CabWiz is being called with
these parameters "/cpu ARMV4 ARM SH3 MIPS X86 WCE420X86" among others - this
is what causes the multiple CABs to be built. Since the .inf doesn't contain
any platform specific labels every CAB produced is identical and is platform
agnostic; since it contains only a managed binary.
The Application Manager (CEAppMgr) inspects the cabs listed in the ini file
and uses the first CAB that it finds that supports the target platform.
Again the supported (or more accurately unsupported) platform information is
baked into the cab itself.
When deploying purely managed assemblies (exe, dlls) to devices you really
need only one CAB file.
HTHs cheers jono
--
Jonathan Wells
Product Manager
..NET Compact Framework
Check out the .NET Compact Framework FAQ at:
http://msdn.microsoft.com/mobility/prodtechinfo/devtools/netcf/FAQ/default.aspx
This posting is provided "AS IS" with no warranties, and confers no rights.