You should avoid creating MSIs that can't be installed and uninstalled in an unattended manner, any required input should be possible via the "MSIEXEC.EXE" command line.
There are a number of levels of unattended operation from completely silent to displaying some levels of dialogs, these options are controlled with the "/q" switch.
You typically also do some of the following:
A verbose log of a user driven install can help you determine property and feature names, however failing this you can use "ORCA" for a more detailed examination of the relevant tables as well as examination of any custom actions.
msiexec.exe /qn /I "C:\MSI\some.msi" /l*v SilentLogFile.txt ALLUSERS=1 DBSERVER=SomeMachineName
|MAKEMSI SILENT MODE - UISAMPLE_REDUCED_UI_VALUE|
Note that by default MAKEMSI creates MSIs which support reduced (unattended in normal operation) installs, see "UISAMPLE.MMH" for more details, however to enable it simply add the following before loading MAKEMSI:
#define UISAMPLE_REDUCED_UI_VALUE 1 ;;0 = normal, 1 = reduced UI (on install only)
The above just sets the default value for the "MM_REDUCED_UI" public property, so you can alter the behaviour from the command line.