From: Peter Foley (pjfoley_at_[hidden])
Date: 2005-05-27 04:05:02
I am in the process of looking at how feasible it would be to use WIX to
create an MSI installer package for Boost for the Windows Platform(s).
Now bearing in mind that I have never used WIX before and have been out of
the programming game for a while I think I would like to help/run with this
>From lurking on the list for a while and also from the more recent "Customer
Friendlier Boost Installation" thread here is a feature/wish list of items
that I have seen or would personally like:
* Install boost using an installer application
* Detect necessary installation information
* Provide "header only install" or header and lib file install"
* Install foo library and dependencies and that is it
* Configure various IDE's to support using boost
* Install and register an MSDN Library of the boost documentation
Obviously this list has some items on it that may not even be possible but
hey we need something to aim for.
Also the main goal would be to develop an automated rather then hand-rolic
process for creating this MSI file.
To help reach this goal I am hoping someone with more experience with the
boost development process could shed some light on these questions.
1. Can we write a program that could work out if a library is header
only? (generating a list of all these files)
2. Can we write a program that could work out if a library needs to be
compiled as a lib file? (generating a list of all these files)
3. Can we write a program that could work out the dependencies between
different libraries? (generating a list of all the dependencies)
4. Is there a number of files that you would consider to be core boost
files (ie something that the majority of boost libraries/users would use)?
Or if we cannot write a program to work it out how feasible would it be to
have library maintainers maintain another file (for each library) containing
this information? *ducks for cover* Seriously this file could be used for
any platform to help with creating any form of installation package (RPMS,
Debian Packages, whatever Darwin uses, ...)
In effect if we could some how generate these files. We can then write a
script that would create an XML file that the WIX application can convert
into a useable MSI installation package automatically with virtually no user
interaction (just need WIX and maybe the Windows Installer SDK installed).
See this link for an example of how someone is doing an automated install
build on windows:
With the finished tools/process I would almost hope it to be as simple as
Also the other main benefit with this would be all the files used to
generate the MSI would be text files and can be checked into and out of CVS
for version control.
PS. Useful links for those who have never heard of WIX include:
WIX Homepage: http://sourceforge.net/projects/wix/
Tutorial for WIX: http://www.tramontana.co.hu/wix/index.html
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk