The MsiEmbeddedUI table defines a user interface embedded in the Windows Installer package.
Windows Installer 4.0 or earlier: Not supported. This table is available beginning with Windows Installer 4.5.
The MsiEmbeddedUI table has the following columns.
Columns
- MsiEmbeddedUI
The primary key for the table.
- FileName
The name of the file that receives the binary information in the Data column. Specify a short and long file name using the Filename format.
- Attributes
Information about the data in the Data column. The value in this field can contain one or more of the following constants.
| Constant | Hexadecimal | Decimal | Meaning |
| None | 0x00 | 0 | The file is not the DLL file for the user interface. It may be a resource file used by the user interface. |
| msidbEmbeddedUI | 0x01 | 1 | The primary DLL file for the user interface. No more than one row in the table can be marked with this attribute. If multiple rows are marked with this attribute, it is an error and it cannot be guaranteed which DLL is used. |
| msidbEmbeddedHandlesBasic | 0x02 | 2 | Enables the installer to invoke the embedded UI during a basic UI level installation. The installer ignores this attribute if it is not combined with the msidbEmbeddedUI attribute. |
- MessageFilter
Specifies the types of messages that are sent to the user interface DLL. This column is only relevant for rows with the msidbEmbeddedUI attribute. This field should be null if a row references a resource file and the value of Attributes is null. If a row references a user interface DLL, the value in this column should not be
null.
The value in this column can be a combination of the following values. The installer ignores any other values.
| Constant | Hexadecimal | Decimal | Description |
| INSTALLLOGMODE_FATALEXIT | 0x00001 | 1 | Premature termination. |
| INSTALLLOGMODE_ERROR | 0x00002 | 2 | Error messages. |
| INSTALLLOGMODE_WARNING | 0x00004 | 4 | Warning messages. |
| INSTALLLOGMODE_USER | 0x00008 | 8 | User messages. |
| INSTALLLOGMODE_INFO | 0x00010 | 16 | Unlogged status messages. |
| INSTALLLOGMODE_FILESINUSE | 0x00020 | 32 | Files currently held in use. |
| INSTALLLOGMODE_RESOLVESOURCE | 0x00040 | 64 | Source resolution requests. |
| INSTALLLOGMODE_OUTOFDISKSPACE | 0x00080 | 128 | Disk space messages. |
| INSTALLLOGMODE_ACTIONSTART | 0x00100 | 256 | Action start messages. |
| INSTALLLOGMODE_ACTIONDATA | 0x00200 | 512 | Action data messages. |
| INSTALLLOGMODE_PROGRESS | 0x00400 | 1024 | Progress messages. |
| INSTALLLOGMODE_COMMONDATA | 0x00800 | 2048 | UI initialization messages. |
| INSTALLLOGMODE_INITIALIZE | 0x01000 | 4096 | UI startup messages sent when a product installation is starting. |
| INSTALLLOGMODE_TERMINATE | 0x02000 | 8192 | UI shutdown messages sent after a product installation has finished. |
| INSTALLLOGMODE_SHOWDIALOG | 0x04000 | 16384 | Messages sent prior to the display of UI dialog. |
| INSTALLLOGMODE_RMFILESINUSE | 0x02000000 | 33554432 | Files currently held in use. |
| INSTALLLOGMODE_INSTALLSTART | 0x04000000 | 67108864 | Installation of product begins. The message contains the product's ProductName and ProductCode. |
| INSTALLLOGMODE_INSTALLEND | 0x08000000 | 134217728 | Installation of product ends. The message contains the product's ProductName, ProductCode, and return value. |
- Data
This column contains binary information. If the Attribute field is marked with the msidbEmbeddedUI attribute, the information in this field must be a DLL. If the Attribute field is not the msidbEmbeddedUI attribute, the information in this field can be a resource file in any format.
Remarks
To use an embedded user interface, the setup developer must author this functionality into the Windows Installer package. The MsiEmbeddedUI table defines the embedded user interface. The DLL for the embedded UI should export the InitializeEmbeddedUI, EmbeddedUIHandler, and ShutdownEmbeddedUI functions. Packages that do not support an embedded user interface can use the Windows Installer internal user interface.
To run Debugging Tools for Windows on an embedded user interface, use the techniques described in Debugging Custom Actions. Set the value of MsiBreak to MsiEmbeddedUI.
For an example of an embedded custom UI see Using an Embedded UI.
Build date: 6/5/2008