.CAB files: how to set compression and check them?

C

Clearco

Hi,

when I add to my Visual Studio 2005 solution the '.CAB file' project
how could I set the compression active? (I found no option about this
subject inside the VS environment).
Also is there some .net function to check the integrity of a .cab file
(i.e.: calculate and verify the checksum of a given .cab file)?

Thanks in advance

Filippo
 
D

DrewCE

Be careful when using compression with .CAB files and Windows CE. Not all
versions of the wceload.exe (the .CAB installer) support it. My experience
has been that Windows CE 5.0 does NOT (which irks me) and Windows Mobile 5
does.

Anyway, the compression option is available in the "Deployment Project
Properties" window - click on the root of the deployment project in the
Solution Explorer and take a peak at the "Properties" pane. Set "Compress"
to "True".

-Drew
 
C

Clearco

Be careful when using compression with .CAB files and Windows CE.  Not all
versions of the wceload.exe (the .CAB installer) support it.  My experience
has been that Windows CE 5.0 does NOT (which irks me) and Windows Mobile 5
does.

....I am using Win CE 5.0, in fact.
So I suppose I will have to forget compression unless I use some other
functionality...
any suggestion?

Thanks for your hints.

Filippo
 
C

Chris Tacke, eMVP

Depends opn your target. OpenNETCF has an installer SDK[1] that supports
compressed CABs, so if it's just your app, or you are willing to deploy your
own installer, compressed CABs will work on any version of CE. Othewise,
it's simply not an option. Why do you need compressed anyway? I see it for
OTA updates where you're paying per byte, but if it's a network or media
install I wouldn't think it would matter.


--

Chris Tacke, Embedded MVP
OpenNETCF Consulting
Giving back to the embedded community
http://community.OpenNETCF.com


[1] http://opennetcf.com/Products/CABInstallerSDK/tabid/272/Default.aspx


Be careful when using compression with .CAB files and Windows CE. Not all
versions of the wceload.exe (the .CAB installer) support it. My experience
has been that Windows CE 5.0 does NOT (which irks me) and Windows Mobile 5
does.

....I am using Win CE 5.0, in fact.
So I suppose I will have to forget compression unless I use some other
functionality...
any suggestion?

Thanks for your hints.

Filippo
 
C

Clearco

Hi,

Depends opn your target.  OpenNETCF has an installer SDK[1] that supports
compressed CABs, so if it's just your app, or you are willing to deploy your
own installer, compressed CABs will work on any version of CE.  Othewise,
it's simply not an option.
Why do you need compressed anyway?  I see it for
OTA updates where you're paying per byte, but if it's a network or media
install I wouldn't think it would matter.

I would prefer to spare room on my flash-disk (if possible)...

On the other hand, is there some method to check the integrity of
a .cab file?

Thanks for your answers

Filippo
 
D

DrewCE

A client of mine needed compressed .CABs on Windows CE 5.0 because they, in
fact, use OTA programming. To work around the absence of compression, we
GZip'd the .CAB files. GZip has integrity checking built in.

Had it been available at the time, I would have considered Chris's OpenNetCF
installer SDK. The wceload tool leaves a lot to be desired.

-Drew


Hi,

Depends opn your target. OpenNETCF has an installer SDK[1] that supports
compressed CABs, so if it's just your app, or you are willing to deploy
your
own installer, compressed CABs will work on any version of CE. Othewise,
it's simply not an option.
Why do you need compressed anyway? I see it for
OTA updates where you're paying per byte, but if it's a network or media
install I wouldn't think it would matter.

I would prefer to spare room on my flash-disk (if possible)...

On the other hand, is there some method to check the integrity of
a .cab file?

Thanks for your answers

Filippo
 
C

Clearco

Hi,

A client of mine needed compressed .CABs on Windows CE 5.0 because they, in
fact, use OTA programming.  To work around the absence of compression, we
GZip'd the .CAB files.  GZip has integrity checking built in.

Did you use the GZipStream class of CF 2.0?
Had it been available at the time, I would have considered Chris's OpenNetCF
installer SDK.

I will surely take a look at it.

Thanks
 
D

DrewCE

Strangley, the CF 2.0 didn't include the System.IO.Compression classes which
means you can't use GZipStream. I'm happy to see that they've decided to
include it in CF 3.5.

You will need to use a library like the one Chris mentions; zlibce. There
are others - CSharpZipLib is another I think.

-Drew


Hi,

A client of mine needed compressed .CABs on Windows CE 5.0 because they,
in
fact, use OTA programming. To work around the absence of compression, we
GZip'd the .CAB files. GZip has integrity checking built in.

Did you use the GZipStream class of CF 2.0?
Had it been available at the time, I would have considered Chris's
OpenNetCF
installer SDK.

I will surely take a look at it.

Thanks
 
C

Clearco

Strangley, the CF 2.0 didn't include the System.IO.Compression classes which
means you can't use GZipStream.  I'm happy to see that they've decided to
include it in CF 3.5.

You will need to use a library like the one Chris mentions; zlibce.  There
are others - CSharpZipLib is another I think.

Ok, thanks to you all, I will follow your advices.

Filippo
 

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

Top