Compact Framework redistribuale and custom setup


Steve B.


I'm building a CF 2.0 application.
I've build a msi setup that can install and deploy the application (which
is quite easy with a custom installer class and ceappmgr from activesync).

Now I'd like to enable my setup to detect and install the CF if required.
I've red many articles on the web, and most of them suggested to shipped the
CF with my app, and install it myself (with a native setup dll or a custom
CeRapi method).

What about if a user install a dozen of apps that require the CF ? With this
scenario, every app is responsible to install the CF... So if X apps require
the CF, the CF cabs will be copied X times ?

I've take a look at the redistribuable package of the CF 2.0. This seems to
be targetting a developper audience (since it installs in a SDK folder, and
installs some CF DLL on the "dev" computer)...
unlike the .Net CF 1.0 SP3 (I remember it installed only the cab files and a
ini file, before deploying it actually).

I'd appreciate some lighting on this scenario, which is surely a recurent

Thanks in advance,




Hi Steve,
Now I'd like to enable my setup to detect and install the CF if required.

The easiest way to do this is to use the program "PocketPC Installer".

Basically, you drag your .Net CF 2.0 app (.cab file) and any .cab files
it's dependent on into this program, and it zips it all up into one single
compressed PocketPC/Windows Mobile .exe file.

Then, just copy that .exe file (nothing else is needed) onto your
memory card's 2577 directory and you're ready to go.

When you insert the card into a device, it'll go through each of your
..cabs, determine if it's already installed on the device, and install them
where necessary.

So if CF 2.0 is already installed on your device, no problem, it'll
skip it and move onto the next .cab you've asked it to install.

It's ridiculously easy to use, and it's brilliant to finally have a way
of creating one (compressed) file containing everything you need
to turn a freshly-hard reset device into a device with everything
installed, and ready to go.

It'll even cope with your device attempting to re-run the
memory card's autorun.exe each time it comes out of the idle
state, such as when you first turn on your device in the morning.

Hope this helps.




Steve B.

Thanks for your answer.

However, I'm not satisfied with your explanation.
It actually solve my problem, but what I was looking for is if there is an
"official" way to do this.
PPCinstaller is ok for all apps packaged with it, but, again, what about
other apps that was not packaged with it ? If half apps use PPCinstaller...
all these apps will share the CF, but what about the other half ?


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question