Restart dNI after reboot

Feb 10, 2010 at 10:54 AM
Edited Feb 10, 2010 at 11:47 AM

Hi,

I have a small configuration containing .Net 3.5 and Windows Installer 4.5 After installing Windows Installer 4.5 a reboot is required. After the reboot dNI doesn't start automatically. I tried on XP SP3 and dNI version 1.9.9621.0

The auto_continue_on_reboot="True" is set in the configuration. Is there something I miss here ? How should I configure to automatically restart dNI after a reboot ?

Thanks.


From the configuration.xml:

 

<configurations lcid_type="UserExe" show_language_selector="False" language_selector_title="" language_selector_ok="OK" language_selector_cancel="Cancel" configuration_no_match_message="" ui_level="full"
  fileversion="" productversion="" log_enabled="True" log_file="#APPPATH\dotNetInstallerLog.txt">
  <schema version="1.7.29433.0" generator="dotNetInstaller InstallerEditor" />
  <configuration dialog_caption="Test Package" dialog_message="In order to install Test Package you must first upgrade these components:" dialog_bitmap="#APPPATH\banner.bmp" skip_caption="Skip"
  	install_caption="Install" cancel_caption="Close" status_installed="(Installed)" status_notinstalled="" failed_exec_command_continue="Failed to install %s. Continue with others components?"
  	installation_completed="" installation_none="" installing_component_wait="Installing %s . Wait, this operation could take some time ..." 
	reboot_required="To continue the installation you must restart your computer. Restart now?" must_reboot_required="False" dialog_otherinfo_caption="" dialog_otherinfo_link=""
  	complete_command="#APPPATH\Files\Test.exe" complete_command_silent="" complete_command_basic="" wait_for_complete_command="False" auto_close_if_installed="True" auto_close_on_error="False" 
	allow_continue_on_error="True" dialog_show_installed="True" dialog_show_required="True" cab_dialog_message="%s" cab_cancelled_message="" cab_dialog_caption="" cab_path="#TEMPPATH\#GUID"
  	cab_path_autodelete="True" dialog_position="" dialog_components_list_position="" dialog_message_position="" dialog_bitmap_position="" dialog_otherinfo_link_position="" dialog_osinfo_position=""
  	dialog_install_button_position="" dialog_cancel_button_position="" dialog_skip_button_position="" auto_start="True" auto_continue_on_reboot="True" reboot_cmd="" type="install" lcid_filter="
	language_id="" language="" os_filter_greater="" os_filter_smaller="" processor_architecture_filter="x86,!ia64,!x64">
    <!-- Windows installer 4.5 for XP SP2 and up-->
    <component command="&quot;#APPPATH\Library\Windows Installer 4.5\windowsxp-kb942288-v3-x86.exe&quot;" command_silent="" command_basic="" os_filter_greater="74" os_filter_smaller="89" os_filter_lcid=""
 	type="cmd" installcompletemessage="Windows Installer 4.5 installed succesfully" mustreboot="False" reboot_required="Must reboot" must_reboot_required="False" failed_exec_command_continue="
	allow_continue_on_error="True" required="True" description="Windows Installer 4.5 for XP SP2 &amp; 3" note="" processor_architecture_filter="x86" status_installed="" status_notinstalled="">
      	<installedcheck filename="#SYSTEMPATH\msi.dll" fileversion="4.5.6001.22159" comparison="version" type="check_file" description="Installed Check" />
    </component>

The log file:

 

2010-02-10 12:42:16 -------------------------------------------------------------------
2010-02-10 12:42:16 dotNetInstaller (DNI), version 1.9.9621.0
2010-02-10 12:42:16 Copyright (c) DevAge, Vestris Inc. & Contributors
2010-02-10 12:42:16 Operating system: Windows XP Sp3
2010-02-10 12:42:16 -------------------------------------------------------------------
2010-02-10 12:42:16 -- Loading supported components (lcid=1033)
2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=74, os_filter_smaller=89, processor_architecture_filter=x86): LOADED
2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=89, os_filter_smaller=99, processor_architecture_filter=x86): SKIPPED
2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=99, os_filter_smaller=199, processor_architecture_filter=x86,!x64,!ia64): SKIPPED
2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=, os_filter_smaller=, processor_architecture_filter=): LOADED
2010-02-10 12:42:16 --- Loaded 2 supported component(s)
2010-02-10 12:42:16 --  (): NOT INSTALLED
2010-02-10 12:42:16 Reading Registry: SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\Install
2010-02-10 12:42:16 Registry key found: SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\Install
2010-02-10 12:42:16 Registry value: 1
2010-02-10 12:42:16 Check value: 1
2010-02-10 12:42:16 --  (): INSTALLED
2010-02-10 12:42:16 Configuration defines auto-start: automatically starting install
2010-02-10 12:42:16 Extracting embedded files for component '*': NO FILES EMBEDDED
2010-02-10 12:42:16 -- Loading supported components (lcid=1033)
2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=74, os_filter_smaller=89, processor_architecture_filter=x86): LOADED
2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=89, os_filter_smaller=99, processor_architecture_filter=x86): SKIPPED
2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=99, os_filter_smaller=199, processor_architecture_filter=x86,!x64,!ia64): SKIPPED
2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=, os_filter_smaller=, processor_architecture_filter=): LOADED
2010-02-10 12:42:16 --- Loaded 2 supported component(s)
2010-02-10 12:42:16 --- Component '' (): EXECUTING
2010-02-10 12:42:16 Extracting embedded files for component '*': NO FILES EMBEDDED
2010-02-10 12:42:16 Executing: "C:\Odrit\Library\Windows Installer 4.5\windowsxp-kb942288-v3-x86.exe"

 

 

2010-02-10 12:42:16 -------------------------------------------------------------------

2010-02-10 12:42:16 dotNetInstaller (DNI), version 1.9.9621.0

2010-02-10 12:42:16 Copyright (c) DevAge, Vestris Inc. & Contributors

2010-02-10 12:42:16 Operating system: Windows XP Sp3

2010-02-10 12:42:16 -------------------------------------------------------------------

2010-02-10 12:42:16 -- Loading supported components (lcid=1033)

2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=74, os_filter_smaller=89, processor_architecture_filter=x86): LOADED

2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=89, os_filter_smaller=99, processor_architecture_filter=x86): SKIPPED

2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=99, os_filter_smaller=199, processor_architecture_filter=x86,!x64,!ia64): SKIPPED

2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=, os_filter_smaller=, processor_architecture_filter=): LOADED

2010-02-10 12:42:16 --- Loaded 2 supported component(s)

2010-02-10 12:42:16 --  (): NOT INSTALLED

2010-02-10 12:42:16 Reading Registry: SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\Install

2010-02-10 12:42:16 Registry key found: SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\Install

2010-02-10 12:42:16 Registry value: 1

2010-02-10 12:42:16 Check value: 1

2010-02-10 12:42:16 --  (): INSTALLED

2010-02-10 12:42:16 Configuration defines auto-start: automatically starting install

2010-02-10 12:42:16 Extracting embedded files for component '*': NO FILES EMBEDDED

2010-02-10 12:42:16 -- Loading supported components (lcid=1033)

2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=74, os_filter_smaller=89, processor_architecture_filter=x86): LOADED

2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=89, os_filter_smaller=99, processor_architecture_filter=x86): SKIPPED

2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=99, os_filter_smaller=199, processor_architecture_filter=x86,!x64,!ia64): SKIPPED

2010-02-10 12:42:16 --  (display_name='', os_filter_lcid=, os_filter_greater=, os_filter_smaller=, processor_architecture_filter=): LOADED

2010-02-10 12:42:16 --- Loaded 2 supported component(s)

2010-02-10 12:42:16 --- Component '' (): EXECUTING

2010-02-10 12:42:16 Extracting embedded files for component '*': NO FILES EMBEDDED

2010-02-10 12:42:16 Executing: "C:\Test\Library\Windows Installer 4.5\windowsxp-kb942288-v3-x86.exe"

 

Coordinator
Feb 10, 2010 at 12:37 PM

It looks like your component caused a reboot instead of yielding a return code that told DNI to cause a reboot. Look at windowsxp-kb942288-v3-x86.exe /?, maybe it has a way to suppress a reboot - this usually returns a 3010 error code that DNI can explicitly handle as a reboot error code and everything else will work from there.

Feb 11, 2010 at 10:15 AM
Edited Feb 11, 2010 at 10:59 AM

Thanks for the quick reply,

The executable (Windows Installer 4.5 redistributable http://msdn.microsoft.com/en-us/library/aa372856(VS.85).aspx ) has a parameter to suppress reboot. In this case it returns 0xbc2 (3010) and doesn't reboot but dNI says that the package failed to install (log bellow).

Executing: "C:\Odrit\Library\Windows Installer 4.5\windowsxp-kb942288-v3-x86.exe" /norestart"
201002-10 17:01:29 --- Component ' (): DIALOG CLOSED
2010-02-10 17:01:29 *** Component '' (): ERROR - Error executing '' (): 0xbc2
2010-02-10 17:01:29 --- Component ' ()' FAILED: Error executing '' (): 0xbc

Thanks,

 

 

From the log:

Executing: "C:\Test\Library\Windows Installer 4.5\windowsxp-kb942288-v3-x86.exe" /norestart"

2010-02-10 17:01:29 --- Component ' (): DIALOG CLOSED

2010-02-10 17:01:29 *** Component '' (): ERROR - Error executing '' (): 0xbc2

2010-02-10 17:01:29 --- Component ' ()' FAILED: Error executing '' (): 0xbc2

 

 

Coordinator
Feb 11, 2010 at 1:20 PM

In 1.8 you have new options, including returncodes_reboot and returncodes_success. Set returncodes_reboot to 3010.

Feb 11, 2010 at 2:45 PM

Thanks, that fixed it.

Feb 18, 2010 at 2:24 PM

Hi,

The same problem with restarting, but this time for an msu component (Windows Installer 4.5 redistributable) on Vista. I've seen in the dNI log that it returns 0x80070bc2 when clicking Cancel in the restart window, therefore I added returncodes_reboot="2147945410" to the component. However, dNI still said that the component failed to install. If I choose Restart (in restart window from Windows Installer 4.5 redistributable) the machine is restarted but dNI doesn't start automatically.

Thanks.

From the configuration:

 

  <component package="Library\Windows Installer 4.5\windows6.0-kb942288-v2-x86.msu" returncodes_reboot="2147945410" cmdparameters="/norestart" cmdparameters_silent="/quiet /norestart" cmdparameters_basic="/quiet /norestart" os_filter_greater="99" os_filter_smaller="199" os_filter_lcid="" type="msu" installcompletemessage="" mustreboot="False" reboot_required="To continue installation you have to reboot. Reboot now ?" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="True" required="True" display_name="Windows Installer 4.5" note="" processor_architecture_filter="" status_installed="" status_notinstalled="">
      <!--For the version number of Windows Installer 4.5: http://blogs.msdn.com/windows_installer_team/archive/2008/06/06/windows-installer-4-5-versions.aspx-->
      <installedcheck filename="#SYSTEMPATH\msi.dll" fileversion="4.5.6001.22162" comparison="version" type="check_file" description="Installed Check" />
    </component>

 

 

  <component package="Library\Windows Installer 4.5\windows6.0-kb942288-v2-x86.msu" returncodes_reboot="2147945410" cmdparameters="/norestart" cmdparameters_silent="/quiet /norestart" cmdparameters_basic="/quiet /norestart" 
os_filter_greater="99" os_filter_smaller="199" os_filter_lcid="" type="msu" installcompletemessage="" mustreboot="False" reboot_required="To continue installation you have to reboot. Reboot now ?" must_reboot_required="False" 
failed_exec_command_continue="" allow_continue_on_error="True" required="True" display_name="Windows Installer 4.5" note="" processor_architecture_filter="" status_installed="" status_notinstalled=""> 
      <installedcheck filename="#SYSTEMPATH\msi.dll" fileversion="4.5.6001.22162" comparison="version" type="check_file" description="Installed Check" />
    </component>

 

And the log:

2010-02-18 05:09:22 --- Loaded 2 supported component(s)

2010-02-18 05:09:22 --- Component '' (): EXECUTING

2010-02-18 05:09:22 Extracting embedded files for component '*': NO FILES EMBEDDED

2010-02-18 05:09:22 -- Additional command-line parameters: /norestart

2010-02-18 05:09:22 Executing: wusa.exe "C:\Test\Library\Windows Installer 4.5\Windows6.0-KB942288-v2-x64.msu" /norestart

2010-02-18 05:15:30 --- Component ' (): DIALOG CLOSED

2010-02-18 05:15:30 *** Component '' (): ERROR - 0x80070bc2 - Error executing ' ()': The requested operation is successful. Changes will not be effective until the system is rebooted.

2010-02-18 05:15:30 --- Component ' ()' FAILED: 0x80070bc2 - Error executing ' ()': The requested operation is successful. Changes will not be effective until the system is rebooted.

2010-02-18 05:15:35 --- Component ' (): FAILED, ABORTING

2010-02-18 05:15:36 dotNetInstaller finished, return code=3010

 

 

 

 

Coordinator
Feb 18, 2010 at 11:03 PM

I think the error 0x80070bc2 is misleading. It just takes that 3010 (0x0bc2) and makes a windows HRESULT out of it. The component returns 3010 correctly when it requires a reboot. So you should be specifying 3010. Try it.

Feb 19, 2010 at 10:24 AM

I changed to returncodes_reboot="3010" but it still says the component failed to install.

The log: 

 

2010-02-19 00:19:51 --- Component 'Windows Installer 4.5' (Windows Installer 4.5): EXECUTING
2010-02-19 00:19:51 Extracting embedded files for component 'Windows Installer 4.5': NO FILES EMBEDDED
2010-02-19 00:19:51 -- Additional command-line parameters: /norestart
2010-02-19 00:19:51 Executing: wusa.exe "C:\ODRIT\Library\Windows Installer 4.5\Windows6.0-KB942288-v2-x64.msu" /norestart
2010-02-19 02:20:08 --- Component 'Windows Installer 4.5 (Windows Installer 4.5): DIALOG CLOSED
2010-02-19 02:20:08 *** Component 'Windows Installer 4.5' (Windows Installer 4.5): ERROR - 0x80070bc2 - Error executing 'Windows Installer 4.5 (Windows Installer 4.5)': The requested operation is successful. Changes will not be effective until the system is rebooted.
2010-02-19 02:20:08 --- Component 'Windows Installer 4.5 (Windows Installer 4.5)' FAILED: 0x80070bc2 - Error executing 'Windows Installer 4.5 (Windows Installer 4.5)': The requested operation is successful. Changes will not be effective until the system is rebooted.
2010-02-19 02:20:11 --- Component 'Windows Installer 4.5 (Windows Installer 4.5): FAILED, ABORTING
2010-02-19 02:20:36 dotNetInstaller finished, return code=3010

2010-02-19 00:19:51 --- Component 'Windows Installer 4.5' (Windows Installer 4.5): EXECUTING

2010-02-19 00:19:51 Extracting embedded files for component 'Windows Installer 4.5': NO FILES EMBEDDED

2010-02-19 00:19:51 -- Additional command-line parameters: /norestart

2010-02-19 00:19:51 Executing: wusa.exe "C:\ODRIT\Library\Windows Installer 4.5\Windows6.0-KB942288-v2-x64.msu" /norestart

2010-02-19 02:20:08 --- Component 'Windows Installer 4.5 (Windows Installer 4.5): DIALOG CLOSED

2010-02-19 02:20:08 *** Component 'Windows Installer 4.5' (Windows Installer 4.5): ERROR - 0x80070bc2 - Error executing 'Windows Installer 4.5 (Windows Installer 4.5)': The requested operation is successful. Changes will not be effective until the system is rebooted.

2010-02-19 02:20:08 --- Component 'Windows Installer 4.5 (Windows Installer 4.5)' FAILED: 0x80070bc2 - Error executing 'Windows Installer 4.5 (Windows Installer 4.5)': The requested operation is successful. Changes will not be effective until the system is rebooted.

2010-02-19 02:20:11 --- Component 'Windows Installer 4.5 (Windows Installer 4.5): FAILED, ABORTING

2010-02-19 02:20:36 dotNetInstaller finished, return code=3010

 

Coordinator
Feb 20, 2010 at 9:47 PM

You're right. MSU was a new animal for me when I started coding this :) MSU components don't support returncodes_reboot or success, since an MSU is a well-known type of thing. MSU components didn't handle 3010 properly either, which they should. I fixed it in 1.9.12294.0. Please let me know if this worked for you, otherwise repost a log file. Thx.

Feb 23, 2010 at 1:19 PM

Hi,

With this build it worked. 

Thanks