View Full Version : vbuild & size of updates that include chm files

02-26-2004, 11:08 AM
We are using DevStudio9 and VBuild2.1. We zip the results from VBuild then ship a self-extracting exe.

When uncompressed, our software is 22.4Mb. An InstallShield full install is 12Mb.

The problem is that so far, our updates built with VBuild with maximum compression are around 7Mb, even when only a few files have changed.

To build updates, I create Full versions in DevStudio, then use VBuild to create Offline Packages with maximum compression.

At first, I created an update where the only change was the product version number: the VBuild output was 2.67Mb.

->Is that the smallest we can get ?

When it came to create real updates: our software includes a few small dll and exe files + 2 chm files. The chm files are 4Mb (total) and practically the largest files we have. I first created an update with some changed files (leaving the chm files unchanged). The output was 2.76Mb. When I added the modified chm files, it went to our usual 6.5Mb, as if the chm files were added integrally.

->Any suggestion to reduce the size of our updates ? Isn't VBuild supposed to do byte-level comparison for any type of file ?

02-29-2004, 07:52 AM

vBuild does not bring a delta of the installation logic itself, which is typically around 1.5MB; I do not know why it became 2.76MB, but it happens if u have additional installation files that are copied as is --- we only replace data2.cab by the delta. Can u send me a listing of the vBuild created media --- what was contibuting to the 2.67MB?

Regarding the .CHM files, all byte-level delta creation tools provide poor results on compressed files (with the exception of compressed archives where some of the archive files are not changed). Chm, being an compressed non-archive file, is therefore problematic and delta size will typically be the same as the original file size.


03-01-2004, 10:17 AM
Hi Alon,

These are the files that make a 2.67Mb update when the only change is a changed product version number.

03/01/2004 10:02 AM 682,690 data1.cab
03/01/2004 10:02 AM 45,538 data1.hdr
03/01/2004 10:03 AM 658,602 data1.vcu
10/02/2003 03:18 PM 167,353 dBenderC.Cab
12/03/2003 05:32 PM 459,544 engine32.cab
03/01/2004 10:02 AM 476 layout.bin
11/10/2003 07:55 PM 116,880 setup.exe
03/01/2004 10:02 AM 488,007 setup.ibt
03/01/2004 10:02 AM 653 setup.ini
03/01/2004 10:02 AM 187,306 setup.inx
11 File(s) 2,807,049 bytes

Thank you,


03-01-2004, 10:27 AM
One thing that is noted is that your media "overhead" (which is everything except data1.vcu) is around 2MB, which is bigger then typical overhead (this is ok, just FYI). The other thing to note is that the delta size is around 650KB, which is way to much for a delta where no file was changed (according to your description, only the version name was changed). If this is indeed the case, I would like to get the two media and check --- can u send them to me (use alon@redbend.com if u want to answer privately).


03-02-2004, 11:09 AM
The reason for the ~650KB delta size for "same files, media version change only" is that some files are identified as shared DLL and treated as full release. This should not be the case for identical files. As a workaround, u can simple remove the shared DLL indication for these files.


03-11-2004, 10:47 AM
That ~650k must be from the MFC runtime object that we include in our setup because those are the only shared dlls we have. I guess this overhead is one we can't escape...

At least I know a little more about VBuild :)

Thank you for your help Alon

03-14-2004, 12:59 AM
Actually, I think you can escape this overhead by marking these MFC files as non-shared files (in vBuild project), since the files are same.