Added Repair and update function to installer

svn path=/trunk/; revision=27349
This commit is contained in:
Franz Lehner 2007-06-30 19:37:43 +00:00
parent ffce5f4f66
commit d32320fa56

View file

@ -81,6 +81,7 @@ LONG UnattendDestinationPartitionNumber;
LONG UnattendMBRInstallType = -1; LONG UnattendMBRInstallType = -1;
LONG UnattendFormatPartition = 0; LONG UnattendFormatPartition = 0;
WCHAR UnattendInstallationDirectory[MAX_PATH]; WCHAR UnattendInstallationDirectory[MAX_PATH];
BOOLEAN RepairUpdateFlag = FALSE;
/* LOCALS *******************************************************************/ /* LOCALS *******************************************************************/
@ -814,11 +815,13 @@ RepairIntroPage(PINPUT_RECORD Ir)
CONSOLE_SetTextXY(6, 12, "The repair functions are not implemented yet."); 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, 15, "\x07 Press U for Updating OS.");
CONSOLE_SetTextXY(8, 17, "\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 ESC to return to the main page.");
CONSOLE_SetTextXY(8, 19, "\x07 Press ENTER to reboot your computer."); CONSOLE_SetTextXY(8, 21, "\x07 Press ENTER to reboot your computer.");
CONSOLE_SetStatusText(" ESC = Main page ENTER = Reboot"); CONSOLE_SetStatusText(" ESC = Main page ENTER = Reboot");
@ -830,6 +833,11 @@ RepairIntroPage(PINPUT_RECORD Ir)
{ {
return REBOOT_PAGE; 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 */ else if (toupper(Ir->Event.KeyEvent.uChar.AsciiChar) == 'R') /* R */
{ {
return INTRO_PAGE; return INTRO_PAGE;
@ -870,6 +878,12 @@ InstallIntroPage(PINPUT_RECORD Ir)
CONSOLE_SetStatusText(" ENTER = Continue F3 = Quit"); CONSOLE_SetStatusText(" ENTER = Continue F3 = Quit");
if (RepairUpdateFlag)
{
//return SELECT_PARTITION_PAGE;
return DEVICE_SETTINGS_PAGE;
}
if (IsUnattendedSetup) if (IsUnattendedSetup)
{ {
return SELECT_PARTITION_PAGE; return SELECT_PARTITION_PAGE;
@ -1017,7 +1031,12 @@ DeviceSettingsPage(PINPUT_RECORD Ir)
CONSOLE_SetTextXY(6, 24, "and press ENTER."); CONSOLE_SetTextXY(6, 24, "and press ENTER.");
CONSOLE_SetStatusText(" ENTER = Continue F3 = Quit"); CONSOLE_SetStatusText(" ENTER = Continue F3 = Quit");
if (RepairUpdateFlag)
{
return SELECT_PARTITION_PAGE;
}
while(TRUE) while(TRUE)
{ {
CONSOLE_ConInKey(Ir); CONSOLE_ConInKey(Ir);
@ -2058,7 +2077,12 @@ SelectFileSystemPage (PINPUT_RECORD Ir)
DrawFileSystemList (FileSystemList); DrawFileSystemList (FileSystemList);
CONSOLE_SetStatusText (" ENTER = Continue ESC = Cancel F3 = Quit"); CONSOLE_SetStatusText (" ENTER = Continue ESC = Cancel F3 = Quit");
if (RepairUpdateFlag)
{
return (CHECK_FILE_SYSTEM_PAGE);
//return SELECT_PARTITION_PAGE;
}
if (IsUnattendedSetup) if (IsUnattendedSetup)
{ {
if (UnattendFormatPartition) if (UnattendFormatPartition)
@ -3046,7 +3070,12 @@ RegistryPage(PINPUT_RECORD Ir)
CONSOLE_SetTextXY(6, 8, "Setup is updating the system configuration"); CONSOLE_SetTextXY(6, 8, "Setup is updating the system configuration");
CONSOLE_SetStatusText(" Creating registry hives..."); CONSOLE_SetStatusText(" Creating registry hives...");
if (RepairUpdateFlag)
{
return SUCCESS_PAGE;
}
if (!SetInstallPathValue(&DestinationPath)) if (!SetInstallPathValue(&DestinationPath))
{ {
DPRINT("SetInstallPathValue() failed\n"); DPRINT("SetInstallPathValue() failed\n");