I want to keep the logic that dictates whether a reboot will be necessary to remain encapsulated in our merge module. Can a MSM set the REBOOT property? When I tried to add a "Set installer property" CA it didn't seem like REBOOT was a choice.
Scott Jeslis
Senior Software Engineer
Cicero, Inc.
I've tested your scenario, by adding a custom actions that sets the REBOOT property to "Force" in a Merge Module project and it worked for me.
Please note that this property will always prompt for a restart at the end of the installation.
Hmmm looks like the reboot was signaled to the parent MSI but I'm not seeing a dialog even though the parent MSI has "Prompt for Reboot when required" as "Reboot behavior" and the VM running the install is Windows 7 with UAC on. The CA to set Reboot was placed right before "Finish execution" in the child MSM and we're using Enhanced UI:
MSI (s) (F0:0C) [18:24:22:527]: Propagated Reboot to the client/parent install.
MSI (s) (F0:0C) [18:24:22:527]: Value of RebootAction property is
MSI (s) (F0:0C) [18:24:22:527]: Windows Installer requires a system restart. Product Name: Cicero Discovery Client. Product Version: 3.0.3.4626. Product Language: 1033. Manufacturer: Cicero Inc. Type of System Restart: 1. Reason for Restart: 0.
MSI (s) (F0:0C) [18:24:22:543]: MainEngineThread is returning -1
MSI (s) (F0:04) [18:24:22:543]: RESTART MANAGER: Session closed.
MSI (s) (F0:04) [18:24:22:543]: User policy value 'DisableRollback' is 0
MSI (s) (F0:04) [18:24:22:543]: Machine policy value 'DisableRollback' is 0
MSI (s) (F0:04) [18:24:22:543]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (F0:04) [18:24:22:543]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (F0:04) [18:24:22:543]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (F0:04) [18:24:22:543]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (s) (F0:04) [18:24:22:543]: Restoring environment variables
MSI (s) (F0:04) [18:24:22:543]: Destroying RemoteAPI object.
MSI (s) (F0:8C) [18:24:22:543]: Custom Action Manager thread ending.
MSI (c) (B0:34) [18:24:22:543]: Back from server. Return value: -1
MSI (c) (B0:34) [18:24:22:543]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (B0:34) [18:24:22:543]: PROPERTY CHANGE: Deleting SECONDSEQUENCE property. Its current value is '1'.
Action ended 18:24:22: ExecuteAction. Return value 1.
MSI (c) (B0:1C) [18:24:22:543]: Note: 1: 1703 2: Cicero Discovery Client
You must restart your system for the configuration changes made to Cicero Discovery Client to take effect. Click "Yes" to restart now or "No" if you plan to manually restart later.
=== Verbose logging stopped: 5/14/2013 18:24:22 ===
Action ended 18:23:42: ProgressDlg. Return value 1.
Scott Jeslis
Senior Software Engineer
Cicero, Inc.
After more investigations I found that this is an Advanced Installer limitation and the behaviour is encountered only when the "Enhanced User Interface" is enabled.
However, it works if you place the "Set installer property" custom action above the "Wizard Dialog Stages -> Paths Resolution" action group in your Merge Module project.
Yes I thought something like that might be the case. I will try your suggestion of moving it, the only problem is we use command line (no wizard stages) a LOT.
Scott Jeslis
Senior Software Engineer
Cicero, Inc.