I've just committed a new version of the Ant task for the WiX toolkit to Apache's subversion repo. The former version never worked since I forgot to add a few setters. I never claimed I had tested it anyway ;-)
This time it is tested and to prove it, I've added a target to Ant's own build file that uses it. If you have WiX and the .NET Antlib installed, you can now create an MSI installer package for it. No other software required.
This is how it looks:
<dn:wix target="${msi.file}" mode="both" wixHome="${wix.home}" wixobjDestDir="${wixobj.dir}"> <sources dir="src/etc" includes="*.wxs"/> <moresources dir="${dist.dir}"/> <candleParameter name="dist.dir" value="${dist.dir.resolved}"/> <candleParameter name="version" value="${manifest-version}"/> </dn:wix>
This will create the MSI file using the .wxs
descriptions in src/etc
,
skipping the task if the files in dist.dir
haven't
changed. The task combines candle
and light
but you can run them separately if you want to.
Writing the .wxs
files turned out to be more
cumbersome than I thought - in particular if you have several hundred
HTML files of Javadocs to add. I'll have to sit down and write a task
that does the equivalent of tallow
(which isn't
documented in the official manual, see this part of Gabor's
excellent tutorial instead), but in a way that makes the resulting
fragment more predictable (and valid, in the first place). I ended up
running tallow
and modifying the result manually.
I haven't even tried to create a UI for the MSI package, but it should be doable with the task as it is.
path: /en/Apache/Ant/dotnet | #