MAKEMSI quickly and reliably creates MSI files in a non-programmatic way
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
[Bottom][Contents][Prev]: Install - Verbose Logging[Next]: New -> Command Prompt (here)
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->MAKEMSI Installs...->Installed Shortcuts and Options->MSI MENU...

MSI MENU...

We have the "Install - Verbose Logging" option but rather than generate a whole series of variations I have created this option which provides a menu which you can enhance.

This option is not available in WIN95-ME and should look similar to:

You simply choose the correct command and click execute and the command displayed in the text box will be executed. You may alter the command in the text box prior to clicking the execute button.

Configuration: MenuMsi.INI

The INI file "MenuMsi.INI" in the installation directory is used to populate the options list.

MAKEMSI installs some default options under the "[MAKEMSI]" section, do not touch this section. To add or override existing options create one or more new sections with any name and add your keys there. MAKEMSI uninstallation will remove any section/keys it added but leave yours alone.

To override an existing MAKEMSI option, you may duplicate (once) a MAKEMSI key. No other duplication is supported.

The options are sorted by the INI "key" so choose it carefully. A value for a key of "Install" will be the default value when the dialog is initially displayed. The "value" associated with a key consists of these parts:

  1. The Displayed String
    This is what the user sees in the dialog.

  2. The literal character "|"
    The "|" character is used as a separator character.

  3. The Command to be Executed
    This is what will be executed for this option, it contains codes to insert information (such as the MSI name!) or alter how processing occurs.

    As this command supports non "MSIEXEC.EXE" based commands, all command lines must be start with the executable name (this should be available via the path or be fully qualified). You could use normal environment variable expansion if you execute the command via the command processor.

    The text replacement codes (which are case sensitive) are:

    The control codes (which are case sensitive) are:

The following is a small (but most complicated) sample:

[MAKEMSI]
Install-Extract-Admin_HERE=Administrative Installation - Extract "HERE"|{?:MSIEXEC.EXE} /a "{?}" TARGETDIR="{!:MD}{?:P}\AdminInstall\{?:B}{!:MD}" /l*v "{?}.ADMIN.MsiLog"

Default INI Options

The following are the default options installed by MAKEMSI, as discussed above any of these options can be replaced if desired:

Choice Command
Normal Installation{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.INST.MsiLog"
Basic Installation{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.BINST.MsiLog" /qb
Silent Installation{?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.SINST.MsiLog" /qn
Normal Installation (PER-MACHINE){?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.InstPm.MsiLog" ALLUSERS=1
Normal Installation (PER-USER){?:MSIEXEC.EXE} /i "{?}" /l*v "{?}.InstPu.MsiLog" ALLUSERS=""
Administrative Installation{?:MSIEXEC.EXE} /a "{?}" /l*v "{?}.ADMIN.MsiLog"
Administrative Installation - Extract "HERE"{?:MSIEXEC.EXE} /a "{?}" /l*v "{?}.ADMIN.MsiLog" TARGETDIR="{!:MD}{?:P}\AdminInstall\{?:B}{!:MD}"
Uninstallation{?:MSIEXEC.EXE} /x "{?}" /l*v "{?}.UNINST.MsiLog"


Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.Please email me any feedback, additional information or corrections.
See this page online (look for updates)

[Top][Contents][Prev]: Install - Verbose Logging[Next]: New -> Command Prompt (here)


MAKEMSI© is (C)opyright Dennis Bareis 2003-2008 (All rights reserved).
Saturday May 28 2022 at 3:11pm
Visit MAKEMSI's Home Page
Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.