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 UnattendFormatPartition = 0;
WCHAR UnattendInstallationDirectory[MAX_PATH];
BOOLEAN RepairUpdateFlag = FALSE;
/* LOCALS *******************************************************************/
@ -814,11 +815,13 @@ RepairIntroPage(PINPUT_RECORD Ir)
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 ESC to return to the main page.");
CONSOLE_SetTextXY(8, 17, "\x07 Press R for the Recovery Console.");
CONSOLE_SetTextXY(8, 19, "\x07 Press ENTER to reboot your computer.");
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");
@ -830,6 +833,11 @@ RepairIntroPage(PINPUT_RECORD Ir)
{
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 */
{
return INTRO_PAGE;
@ -870,6 +878,12 @@ InstallIntroPage(PINPUT_RECORD Ir)
CONSOLE_SetStatusText(" ENTER = Continue F3 = Quit");
if (RepairUpdateFlag)
{
//return SELECT_PARTITION_PAGE;
return DEVICE_SETTINGS_PAGE;
}
if (IsUnattendedSetup)
{
return SELECT_PARTITION_PAGE;
@ -1018,6 +1032,11 @@ DeviceSettingsPage(PINPUT_RECORD Ir)
CONSOLE_SetStatusText(" ENTER = Continue F3 = Quit");
if (RepairUpdateFlag)
{
return SELECT_PARTITION_PAGE;
}
while(TRUE)
{
CONSOLE_ConInKey(Ir);
@ -2058,6 +2077,11 @@ SelectFileSystemPage (PINPUT_RECORD Ir)
DrawFileSystemList (FileSystemList);
CONSOLE_SetStatusText (" ENTER = Continue ESC = Cancel F3 = Quit");
if (RepairUpdateFlag)
{
return (CHECK_FILE_SYSTEM_PAGE);
//return SELECT_PARTITION_PAGE;
}
if (IsUnattendedSetup)
{
@ -3047,6 +3071,11 @@ RegistryPage(PINPUT_RECORD Ir)
CONSOLE_SetStatusText(" Creating registry hives...");
if (RepairUpdateFlag)
{
return SUCCESS_PAGE;
}
if (!SetInstallPathValue(&DestinationPath))
{
DPRINT("SetInstallPathValue() failed\n");