Question

Spending more than an hour on figuring out if an equivalent solution to the problem of Multiple CAB installer exists for Windows Mobile in the lazarus cross-platfor compiler I have become tired? I mean the code that represents roughly the same functionality as:

http://www.codeproject.com/Articles/65319/Automatically-Install-Multiple-CAB-Files-to-a-Wind

but as far as I can say it is not possible by interior inf declaration, nor by:

http://wiki.lazarus.freepascal.org/WinCE_Programming_Tips#Installation_of_an_app_build_with_Lazarus_on_a_WinCE_device

Do you know any solution to that?

Was it helpful?

Solution

You are confusing two concepts with one. The first link describes how to use ActiveSync's deployment architecture to deploy multiple CAB files from the PC serially. One CAB file is pushed down to the device and extracted, then the next is pushed down and extracted. This is done by hooking into the extensibility for a desktop MSI file and Windows installer.

This should work fine for any set of CABs - Lazarus or not. To this system a CAB file is a CAB file, the contents are not relevant.

The second link is a description of an INF file (among other thigs). This is an input file for CABWIZ.exe, which is a desktop tool that simply generates CAB files that can be used on a WinMo/WinCE device. even if you generate a CAB that contains another CAB with CABWIZ, the device side of things (wceload.exe) does not support extracting a CAb within a CAB.

It's a fundamental limitation that you can't avoid. To make things worse, newer versions of WinMo can't have two instances of wceload running, so you can't launch (via a custom installer DLL) a second instance of WCELOAD to extract an internal CAB.

You best solution is to not try. Just extract everything for your app on your PC - app, references, resources - everything. Then create an INF to package it all into one CAB (not a CAB inside a CAB) and then deploy that CAB.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top