Installshield has the option of selecting software requirements or redistributable prerequisites. I can't figure out whether my dependencies need to go in one or the other (say Adobe Reader/.NET framework).
What is the rationale behind the two possibilities?
They vary in what the run time behavior will be. To summarize, a redistributable prerequisite (when written correctly) will check for the presence of some piece of software and install it if it is not present. A requirement will add a launch condition to the MSI package that will check for the presence of some piece of software and abort the main installation if it is not present.
If there's any chance that someone may end up with access to a raw .msi file, it's a good practice to include the corresponding software requirement for any prerequisite your program needs, even when you include it in setup.exe. That way, if they don't launch from setup.exe, they can still find out about any unmet dependencies.