

There must be a convenient way to create a custom self-extracting installer with a program that serves as sort of a self-extracting installer editor.Īs the compression format, I chose the zip format. The programs that make up the self-extracting installer should be reusable.This way, MSI setups appear to be much better integrated into the self-extracting installer.

An MSI file should be started via MSI APIs so that the MSI's user interface is parented to the self-extracting installer window.

I came up with the following requirements for the solution to this problem: Having all relevant setups for each component combined in one big self-extracting installer with a user interface that allows for the selection of an individual component would be the ideal solution for this problem. If each of those components has a separate setup program or an MSI file that customers have to download, this is soon going to be tedious for the customer. Consider a company that ships a product suite that is made up of different components like a server installation, a client installation, an administrative installation, and a command line tools installation. I recently ran into a problem where I required a self-extracting installer that would allow customers to download one single huge file in order for them to choose from a variety of setups or associated documents, like readme files or release notes.
