PS: The Windows Installer .PCP files requires the File/@Id and
File/@Sequence to be stable during the patching process. That is why the WiX
toolset sorts the way it does, it ensures the MSIs will be able to be
patched. Now, IIRC, pyro is smart enough to handle the File/@Sequence
changes but the File/@Id must remain stable.

As usual, the Windows Installer requirements add the real complication when
trying to optimize. <smile/>

On Mon, Nov 2, 2009 at 6:42 PM, Wesley W. Terpstra <wes...@terpstra.ca>wrote:

> On Mon, Nov 2, 2009 at 11:41 PM, Richard <legal...@xmission.com> wrote:
> > In article <162de7480911020831o4b123747xc933d27b4fbf8...@mail.gmail.com
> >,
> >    "Wesley W. Terpstra" <wes...@terpstra.ca>  writes:
> >> [...] For such a big
> >> savings in download-time I think that's a reasonable trade-off.
> >
> > Have you been receiving complaints about download times?
>
> Actually, yes. However, even more worrisome to me are the complaints
> I've *not* received from people who simply decided it was too big and
> didn't bother downloading it.
>
> > Doing the simplest thing that could possibly work is generally the
> > best approach with installers.
>
> True, and I still provide the non-7zip msi as well.
>
> As a footnote, I've found a way to radically improve the compression
> of both the 7zip'd msi and the windows compressed cab file. It seems
> that WiX puts files into the cabinet sorted by their 'Id' strings.
> Since some of the files are very similar or even identical (32-bit vs
> 64-bit headers), it helps a lot if these files appear one after the
> other in the cabinet file. I've switched my Id='xxx' strings to use
> the format Id='file.reversed-filename.path-hash'.
>
> For example, the file bin/gcc.exe gets called
> 'file.exe.ccg.12345667890ABCDEF' (with a real hash). Since I am
> generating these fragments of my WiX xml automagically, this switch
> was no problem. This reduced the compressed msi from 77MB to 59MB by
> better exposing the locality to the compressor. The 7zip size went
> from 36MB to 27.5MB (nearly as small as the raw files compressed
> completely by 7zip itself!).
>
> I imagine these savings would probably also apply to other projects.
> Clumping all the C headers together likewise makes compression
> dictionaries far more effective. Ditto for Standard ML signature and
> source files.
>
> Actually, just sorting files by their size would probably get much of
> the same locality benefits. It's really quite stupid of WiX to sort by
> the user-specified 'Id'. I doubt many WiX users realize how relevant
> the Id choice is to the final installer size.
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


-- 
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to