Thanks to John for this suggestions and code, see attachments.
"Attached are two patches to dotNetInstaller that contain some of the changes I have made to adapt dotNetInstaller to my own needs. The diffs are made against version 188.8.131.52.
This is just some simple spelling and punctuation fixes for the default configuration.xml
I want to be able to create one setup program that can either be put on a CD along with all the prerequisites, or can be downloaded from the website and will download the prerequisites that it needs. I've therefore modified the code so that you can have a component that if the install program can be found that is run, otherwise if a download section is present, it is downloaded and then run. The code modifies the command path to the location of the download if it successfully downloads the file. The example.xml is an example configuration.xml I use with this code that has a component that can either be directly installed or downloaded and then installed.