Ever wondered how you could install your CAB files onto your memory card/File Store, and not just in the default location in RAM? Yes, you probably already know the answer: CabInstl
, which is indeed a great little program.
However, CabInstl doesn’t intregrate well into the Windows Mobile operating system
What does this mean?
Whenever CAB’s are automatically
started, and that’s the case when ActiveSync installs or reinstalls an application, for example when you relocate them (you may want to read my tutorial on relocating apps easily, without reinstallation on the desktop, with ActiveSync
), CAB files are just executed without CabInstl's getting into the game.
Much as you can tell ActiveSync in where to install your app, it will put it in the root directory
there if you install it to an alternative medium. That is, you won’t be able to fine-tune it to specify a target directory (for example, \MyPrograms
or a directory of any name). In these cases, a solution that integrates better than CabInstl into the operating system is certainly welcome. (Incidentally, this question is often asked on PPC forums; for example, here
First, install Mad Programmer's FileDialogChanger
(the current version is 1.50) and gsGetFile.dll
and import the following registry file ( here's a generic roundup on registry editors and their importing capabilities
if you need to get a registry editor to import scripts ):
[HKEY_LOCAL_MACHINE\SOFTWARE\Apps\Microsoft Application Installer]
(Please note that you don’t need to import these keys and values - they are already existing, with different (false) values, which prohibit destination setting to be done.
With any registry editor, just go to HKEY_LOCAL_MACHINE\SOFTWARE\Apps\Microsoft Application Installer] and edit the two keys fAskOptions and fAskDest . As has already been mentioned, they contain zeros (meaning false). You'll need to change them to 1’s (meaning true: that is, do ask for the destination root directory).
This way, you won’t even need to use an import-capable registry editor and you won’t be forced to create a registry import file with the above contents that your particular reg. editor accepts.)
After all this all has been done and you can click a CAB file on your PDA right away (or, just install a program on your desktop that uses the standard ActiveSync dialog). Then, you’ll be taken to the root of your target (the one that you’ve asked for in ActiveSync, concerning the latter case) memory card/File Store:
Then, just navigate to the target directory:
And press OK (top right icon). Then, the program indeed will be installed in the parent directory you’ve specified (see the target directory name in the dialog screen):
- to download the two ZIP files, right-click the above Mad Programmer-links and choose Save target as…
instead of directly clicking them; the latter would also mean a Referer HTTP header check and a subsequent error message.
- still regarding Mad Programmer’s files, you’ll need to copy the following files into your PDA’s \Windows directory:
1. from gsgetfile-i.zip, ARMRel\gsgetfile.dll
2. from filedlgchg.zip, ARM\filedlgchg.cpl
Also, you’ll need to start Settings/System/ File Dialog Changer
and check in Exchange Standard File Dialog
before you’ll see any change (just press OK after doing this; you won’t need to click Add
Note that there’re a lot of other goodies Mad Programmer has written. You may want to read, for example, my review of the Force Hi-resolution tool V1.50/1.51
or my tips on using his Fonts on Storage
. These two tools are also excellent.
Also note that there’re some applications with custom-written installers that don’t use CAB’s at all; with them, not even File Dialog Changer will work. Applications like this are, for example, Destinator, Pocket Promt
You may also want to read Gerard’s excellent article
on this subject.
EDIT at 18:59: corrected a mistake in the first section. Thanks for the iPAQ HQ forum people for pointing it out! Also, made the text a bit easier to read.