I had a client recently who needed a lot of prerequistes in their installation. Sixteen to be exact, more than I have ever included in any installation before. In addition, these prerequisite files needed to be located on the client’s server and not included in the installation. I had never done this scenario before, so I’ll pass on what I learned.
To refresh your memory, prerequisite files can either be included in your installation (compressed into setup.exe or included on the source media) or they can be downloaded from the web. This is true for a lot of prerequisites, but not all of them. Some only have one version, where you include the prerequisite files in your installation.
If you have to create custom prerequisites, where the client wants them to not be included in the setup for reasons of space (small footprint in the final setup file), then you will have to store them on a server. Here’s what to do.
Properties tab for a Prerequisite
In the screenshot above, we have the Prerequisite Editor open for a custom Crystal Reports prerequisite. When you create a web prerequisite that is on your own server or a client server, do not fill in the field that says “Alternate location to download.prq from if prerequisite files are being downloaded.” If you fill this out, you can have problems. This is because in this scenario, you don’t need to store the .prq file on the server, just the prerequisite files it references.
Files to Include tab for a Prerequisite
In the above screenshot, we see the files that are included in this prerequisite. Prerequisites can include one or more files. In this case, we just have one .msi file.
What the file specification looks like for a web prerequisite
In the above screenshot, I have selected the msi file and clicked the Modify button. Here we see the specifications for the file. The File field is where the prerequisite files are located on my development machine. The URL to file field shows the location of the prerequisite file(s) on the client’s server. This is the most important field in this example, which shows where to download the actual prerequisite file(s).
The final thing is to indicate for the release you are creating, on the Setup.exe tab, specify that the prerequisites are to be downloaded from the web.
Download prequisite files from the web
I will summarize by saying that for a custom web prerequisite, you don’t need to store the .prq file on the server, just the prerequisite file(s).