Windows Installer was created in the days of physical software
distribution and small hard disks. Physical software distribution
means you can and should put all prerequisites in the disc. It doesn't
matter if you ship a dozen different products and all of them "waste"
100MB with the exact same shared DLLs. Small hard disks means that if
you install those dozen applications, you wouldn't want all of them
installing their own 100MB copy of the DLLs, you would want them
installed once and shared across the products.

The way shared components work in Windows Installer fits this
perfectly. Each MSI carries its own copy of the shared components, but
that doesn't matter because they are on different discs. When you
install the products, the shared components are only installed once on
the user's hard disk.

We're now in the age of digital distribution, where requirements
change. I think trying to avoid duplicated hard disk usage is still
important, but it's even more important to reduce bandwidth use. If I
have a dozen applications which share components, and the user wants
to install even two of the apps, ideally he should only download the
shared components *once*.

The only way I know to do this in Windows Installer is not to use
multiple products sharing components, but instead to put the shared
stuff in its own MSI. Then each application installer will have a
bootstrapper that checks if the shared-stuff product is already
installed, and if it's not, it downloads the shared msi and installs
it. Yhen the next application won't need to.

Is there a different way to do this? For example, is it possible to
have one msi per application with shared components, but put the
shared files in a different non-embedded cabinet, and have the
bootstrapper only download this cabinet if needed?

-- 
Nicolás

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to