dotNetInstaller is a widely used, general-purpose setup bootstrapper for Microsoft Windows.It enables the developer to define the application prerequisites and install the correct version(s) of these components in a predictable order based on the processor architecture, user operating system type and language.
It's very good software.