Using Restart Manager with an External UI

Windows Installer developers can prepare their installation package to work with Restart Manager by following the guidelines described in Using Windows Installer with Restart Manager.

Specify the INSTALLLOGMODE_RMFILESINUSE message type when calling the MsiSetExternalUI or MsiSetExternalUIRecord function to enable the external user-interface handler. Windows Installer then sends an INSTALLMESSAGE_RMFILESINUSE message for use by external user-interface handlers that support the Restart Manager.

Your external user-interface handler should handle the information contained in INSTALLMESSAGE_RMFILESINUSE messages. If no registered or internal user-interface handles the INSTALLMESSAGE_RMFILESINUSE message, Windows Installer sends an INSTALLMESSAGE_FILESINUSE message for use by existing external handlers that support INSTALLMESSAGE_FILESINUSE messages and the FilesInUse dialog box.

The external user interface can return the values listed in the following table.

External UI return value Action taken by Windows Installer
IDOK The OK button was pressed by the user. The Windows Installer will request that the Restart Manager shut down and restart the applications that hold files currently in use.
IDCANCEL The CANCEL button was pressed. Cancel the installation.
IDIGNORE The IGNORE button was pressed. Ignore and continue the installation. A restart will be required at the end of the installation.
IDNO The NO button was pressed. If the package has an MsiRMFilesInUse dialog box, send a 1610 message. For more information, see Windows Installer Error Messages. If the package does not have a MsiRMFilesInUse dialog box, send an INSTALLMESSAGE_FILESINUSE message.
IDRETRY The RETRY button was pressed. Send the INSTALLMESSAGE_FILESINUSE message.
-1 An error. End the installation.