- Revenera Community
- :
- InstallShield
- :
- InstallShield Knowledge Base
- :
- The Suite Install Is Not Resumed after Reboot
- Mark as New
- Mark as Read
- Subscribe
- Printer Friendly Page
The Suite Install Is Not Resumed after Reboot
The Suite Install Is Not Resumed after Reboot
Description:
The suite installation is not resumed after a reboot prompt if the user clicks No on the reboot / restart prompt. Clicking Yes resumes the installation and the Basic MSI installer also resumes the installation after reboot, after the user clicks Yes or No on the reboot prompt.
Steps to Reproduce:
Basic MSI Project:
- Create a Basic MSI project (ex. BMSITest.ism).
- Configure the ForceReboot Action by placing it after the RegisterProduct Action.
- Build the project.
- Run the installer.
- At the reboot prompt, click Yes or No.
After the reboot the installation resumes in both the cases, after clicking Yes or No.
Suite Project:
- Create a suite project.
- Add the Basic MSI project as a package in the suite installer.
- Build the project.
- Run the suite installer.
After the restart, the suite installation resumes if the user clicks Yes at the reboot prompt. If the user clicks No at the reboot prompt, the installation is not resumed after the reboot.
Behavior:
The suite installer handles clicking No as equivalent to clicking Cancel.
Explanation of the behavior:
Note: The ForceReboot action must be given a condition of NOT AFTERREBOOT; otherwise, the reboot will get stuck in a loop.
Test Scenario# 1: A compressed MSI package built from the Basic MSI project:
- Launch the MSI setup with the following command line: ForceRebootMSI.msi /l*v "C:\Log\ForceRebootBasicYes.log"
- The user needs to click Yes at the reboot prompt.
- The Windows Registry entry will created under:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\RunOnceEntries
with a value of:
{3BC02749-19DA-4FA7-A3DC-5B172C36D7FC}" AFTERREBOOT=1 RUNONCEENTRY="!94720CB3AD917AF43ACDB571C2637D" /qF /lmewuifsoarpcv+ "c:\tmp\ForceRebootBasicYes.log" - The Windows Registry RunOnce entry value clearly indicates that the MSI package will be launched in Full UI (/qf) Mode.
- More details on MSI command line parameters can be found here.
Test Scenario# 2: The same as Test Scenario# 1, except for the user clicking No during the reboot prompt.
- The same Windows Registry entry gets added to the RunOnce Windows Registry entry.
- The only difference is that the user needs to manually restart in this scenario.
- After restart, the user can see the same MSI setup being launched.
Test Scenario# 3: Add a compressed MSI package to the suite installer.
- Enable logging support under the Packages -> Package -> Common Tab with the following options selected:
- Enable Logging Support: Yes
- LogFile: SuiteForceRebootMSIYes
- Log Options: *v
- Enable logging option for the suite project as well by navigating to Releases -> Release -> Setup.exe -> Set Always Create Debug Log: Yes and specify a Log File Name.
- Build the project.
- Launch the suite installer's setup.exe with the following command line: Setup.exe /log"C:\Log"
Note: Only the log folder has to be specified, since the filename was already configured. - Select Yes at the reboot prompt.
- The Windows Registry entry will be added under:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\RunOnceEntries
with a value of:
"{3BC02749-19DA-4FA7-A3DC-5B172C36D7FC}" AFTERREBOOT=1 RUNONCEENTRY="!94720CB3AD917AF43ACDB571C2637D" /qN /lewuioarpcv+ "c:\tmp\SuiteForceRebootMSIYes.log" - The MSI setup starts and MsiInstallProduct returns code 1641 which means:
ERROR_SUCCESS_REBOOT_INITIATED |
1641 |
The installer has initiated a restart. This message is indicative of a success. |
0x669 |
0x80070669 |
- The suite installer will create a Windows Registry entry under:
HKEY_CURRENT_USER\Software\InstallShield\SuiteInstallers\<Suite-GUID>\REBOOT with value 1 - After restart, the suite installer will get launched and finish the execution. The MSI package will be installed silently.
Test Scenario# 4: Add a compressed MSI package to the suite installer. Click No at the reboot prompt.
- After the user clicks No at the reboot prompt, the suite installer will be interrupted with error code 1602 from MsiInstallProduct which means:
ERROR_INSTALL_USEREXIT |
1602 |
The user cancels installation. |
0x642 |
0x80070642 |
- No suite installer REBOOT Windows Registry entry will be created.
- The suite handles this test case differently than the MSI setup.
- The suite installation does not take place, but the MSI installation takes place. This is because Windows Installer (MSI) handles reboots differently.
- After a manual reboot, the MSI package gets installed silently. But the suite installation does not take place because the suite installer assumes that the user canceled the installation.