|Create an MSI from Scratch|
You could use (include) "MAKEMSI.MMH" ("OpenMSI.MMH" is probably easier) to create a new MSI starting from nothing or using a basic template. The installed sample file "TryMeCreate[START]OfMsiFromScratch.MM" demonstrates this.
It is likely that you will wish to perform some common things for all MSIs so that you will probably want to create your own header file (perhaps called "CreateMsi.MMH" which does the basic setup (as well as including "MAKEMSI.MMH").
This will require good knowledge of Windows Installer but you could use the "DEPT.MMH" and "COMPANY.MMH" headers as examples. The "Preferred MSI Interface for Building a Complete MSI" is basically a set of header files I have created for you with the aim of making it very easy with minimal (or in some cases no) Windows Installer skills required.
Most people will not use this approach. Almost all will go straight to the "Preferred MSI Interface for Building a Complete MSI".
|The Initial Template|
Your starting point ("an empty database") is a decision you might wish to think a bit about. The "template" is generally at such a level that it is never modified to create your finished product.
The main options are (all sorts of variations are possible):
The "COMPANY.MMH" header affectively changes the template as it does some row manipulation to modify its normally behaviour (see "logo on dialogs" tip for an example) and in fact the header is one big "template" in its own right.