Author: hamtitampti Date: Sat Jun 30 23:37:43 2007 New Revision: 27349
URL: http://svn.reactos.org/svn/reactos?rev=27349&view=rev Log: Added Repair and update function to installer
Modified: trunk/reactos/base/setup/usetup/interface/usetup.c
Modified: trunk/reactos/base/setup/usetup/interface/usetup.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/interface... ============================================================================== --- trunk/reactos/base/setup/usetup/interface/usetup.c (original) +++ trunk/reactos/base/setup/usetup/interface/usetup.c Sat Jun 30 23:37:43 2007 @@ -81,6 +81,7 @@ LONG UnattendMBRInstallType = -1; LONG UnattendFormatPartition = 0; WCHAR UnattendInstallationDirectory[MAX_PATH]; +BOOLEAN RepairUpdateFlag = FALSE;
/* LOCALS *******************************************************************/
@@ -814,11 +815,13 @@
CONSOLE_SetTextXY(6, 12, "The repair functions are not implemented yet.");
- CONSOLE_SetTextXY(8, 15, "\x07 Press R for the Recovery Console."); - - CONSOLE_SetTextXY(8, 17, "\x07 Press ESC to return to the main page."); - - CONSOLE_SetTextXY(8, 19, "\x07 Press ENTER to reboot your computer."); + CONSOLE_SetTextXY(8, 15, "\x07 Press U for Updating OS."); + + CONSOLE_SetTextXY(8, 17, "\x07 Press R for the Recovery Console."); + + CONSOLE_SetTextXY(8, 19, "\x07 Press ESC to return to the main page."); + + CONSOLE_SetTextXY(8, 21, "\x07 Press ENTER to reboot your computer.");
CONSOLE_SetStatusText(" ESC = Main page ENTER = Reboot");
@@ -829,6 +832,11 @@ if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */ { return REBOOT_PAGE; + } + else if (toupper(Ir->Event.KeyEvent.uChar.AsciiChar) == 'U') /* U */ + { + RepairUpdateFlag = TRUE; + return INSTALL_INTRO_PAGE; } else if (toupper(Ir->Event.KeyEvent.uChar.AsciiChar) == 'R') /* R */ { @@ -870,6 +878,12 @@
CONSOLE_SetStatusText(" ENTER = Continue F3 = Quit");
+ if (RepairUpdateFlag) + { + //return SELECT_PARTITION_PAGE; + return DEVICE_SETTINGS_PAGE; + } + if (IsUnattendedSetup) { return SELECT_PARTITION_PAGE; @@ -1017,7 +1031,12 @@ CONSOLE_SetTextXY(6, 24, "and press ENTER.");
CONSOLE_SetStatusText(" ENTER = Continue F3 = Quit"); - + + if (RepairUpdateFlag) + { + return SELECT_PARTITION_PAGE; + } + while(TRUE) { CONSOLE_ConInKey(Ir); @@ -2058,7 +2077,12 @@ DrawFileSystemList (FileSystemList);
CONSOLE_SetStatusText (" ENTER = Continue ESC = Cancel F3 = Quit"); - + if (RepairUpdateFlag) + { + return (CHECK_FILE_SYSTEM_PAGE); + //return SELECT_PARTITION_PAGE; + } + if (IsUnattendedSetup) { if (UnattendFormatPartition) @@ -3046,7 +3070,12 @@ CONSOLE_SetTextXY(6, 8, "Setup is updating the system configuration");
CONSOLE_SetStatusText(" Creating registry hives..."); - + + if (RepairUpdateFlag) + { + return SUCCESS_PAGE; + } + if (!SetInstallPathValue(&DestinationPath)) { DPRINT("SetInstallPathValue() failed\n");