Restarting a Target System for an Advanced UI or Suite/Advanced UI Package

InstallShield 2019

Project • This information applies to the following project types:

Advanced UI
Suite/Advanced UI

Edition • The Advanced UI project type is available in the Professional edition of InstallShield. The Suite/Advanced UI project type is available in the Premier edition of InstallShield. For information about the differences between these two project types, see Advanced UI Projects vs. Suite/Advanced UI Projects.

InstallShield uses several methods to determine if a target system should be restarted after running a package in an Advanced UI or Suite/Advanced UI installation.

Registry Key Changes for .exe Packages

The target system may need to be restarted if any of the following registry keys have been modified after an .exe package in the Advanced UI or Suite/Advanced UI has been run:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
(64-bit) HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
(64-bit) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager, value of PendingFileRenameOperations

The registry keys are counted before and after the package is run. If these numbers are not the same, it is assumed that the file is trying to restart the system and exit the installation.

Return Code Specified for a Package in the Advanced UI or Suite/Advanced UI Installation

If the exit code of the package in an Advanced UI or Suite/Advanced UI installation matches the return code that is specified for applicable operation type (install, remove, repair, or modify) for the package in the Reboot Codes setting of the Packages view of the Advanced UI or Suite/Advanced UI project, the target system may need to be restarted.

Return Codes 1641 and 3010

The target system may need to be restarted if a reboot state is returned for an .msi package that is run for a package in an Advanced UI or Suite/Advanced UI installation. The standard Windows Installer reboot return codes are:

ERROR_SUCCESS_REBOOT_INITIATED (1641)
ERROR_SUCCESS_REBOOT_REQUIRED (3010)

Behavior Specified for the Package

The Reboot Request setting for a package in the Packages view of the Advanced UI or Suite/Advanced UI project enables you to specify what should happen if any of the aforementioned conditions are or are not applicable to a particular package in the Advanced UI or Suite/Advanced UI project. You can specify different behaviors for each operation type: install, remove, repair, and modify.

For more information, see Specifying the Behavior for an Advanced UI or Suite/Advanced UI Package that Requires a Restart.

See Also