https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f7ee1e2ffd9221ccfa18dd49d66202be23192e11

commit f7ee1e2ffd9221ccfa18dd49d66202be23192e11
Author:     Hermès Bélusca-Maïto <[email protected]>
AuthorDate: Tue Dec 26 00:50:01 2017 +0100
Commit:     Hermès Bélusca-Maïto <[email protected]>
CommitDate: Sun Oct 28 18:59:56 2018 +0100

    [SETUP:REACTOS] Add a wizard page to select which existing OS installation 
to upgrade.
---
 base/setup/reactos/drivepage.c   |  41 ++++++----
 base/setup/reactos/lang/bg-BG.rc |  18 +++++
 base/setup/reactos/lang/cs-CZ.rc |  18 +++++
 base/setup/reactos/lang/de-DE.rc |  18 +++++
 base/setup/reactos/lang/el-GR.rc |  18 +++++
 base/setup/reactos/lang/en-US.rc |  22 +++++-
 base/setup/reactos/lang/es-ES.rc |  18 +++++
 base/setup/reactos/lang/et-EE.rc |  18 +++++
 base/setup/reactos/lang/fi-FI.rc |  22 +++++-
 base/setup/reactos/lang/fr-FR.rc |  22 +++++-
 base/setup/reactos/lang/he-IL.rc |  18 +++++
 base/setup/reactos/lang/hu-HU.rc |  22 +++++-
 base/setup/reactos/lang/it-IT.rc |  20 ++++-
 base/setup/reactos/lang/ja-JP.rc |  18 +++++
 base/setup/reactos/lang/ms-MY.rc |  18 +++++
 base/setup/reactos/lang/no-NO.rc |  18 +++++
 base/setup/reactos/lang/pl-PL.rc |  18 +++++
 base/setup/reactos/lang/pt-BR.rc |  18 +++++
 base/setup/reactos/lang/ro-RO.rc |  18 +++++
 base/setup/reactos/lang/ru-RU.rc |  18 +++++
 base/setup/reactos/lang/sk-SK.rc |  18 +++++
 base/setup/reactos/lang/sq-AL.rc |  18 +++++
 base/setup/reactos/lang/tr-TR.rc |  18 +++++
 base/setup/reactos/lang/uk-UA.rc |  18 +++++
 base/setup/reactos/lang/vi-VN.rc |  18 +++++
 base/setup/reactos/lang/zh-CN.rc |  18 +++++
 base/setup/reactos/lang/zh-TW.rc |  18 +++++
 base/setup/reactos/reactos.c     | 157 +++++++++++++++++++++++++++++++--------
 base/setup/reactos/reactos.h     |  36 ++++++++-
 base/setup/reactos/resource.h    |  15 +++-
 30 files changed, 673 insertions(+), 62 deletions(-)

diff --git a/base/setup/reactos/drivepage.c b/base/setup/reactos/drivepage.c
index e73e7a17bc..5130a2983c 100644
--- a/base/setup/reactos/drivepage.c
+++ b/base/setup/reactos/drivepage.c
@@ -30,8 +30,9 @@
 /* GLOBALS ******************************************************************/
 
 #define MAX_LIST_COLUMNS (IDS_LIST_COLUMN_LAST - IDS_LIST_COLUMN_FIRST + 1)
-static const int default_column_widths[MAX_LIST_COLUMNS] = {200, 150, 150};
-static const int column_alignment[MAX_LIST_COLUMNS] = {LVCFMT_LEFT, 
LVCFMT_LEFT, LVCFMT_LEFT};
+static const UINT column_ids[MAX_LIST_COLUMNS] = {IDS_LIST_COLUMN_FIRST, 
IDS_LIST_COLUMN_FIRST + 1, IDS_LIST_COLUMN_FIRST + 2};
+static const INT  column_widths[MAX_LIST_COLUMNS] = {200, 150, 150};
+static const INT  column_alignment[MAX_LIST_COLUMNS] = {LVCFMT_LEFT, 
LVCFMT_LEFT, LVCFMT_LEFT};
 
 /* FUNCTIONS ****************************************************************/
 
@@ -109,32 +110,36 @@ PartitionDlgProc(HWND hwndDlg,
 }
 
 
-static
 BOOL
 CreateListViewColumns(
-    HINSTANCE hInstance,
-    HWND hWndListView)
+    IN HINSTANCE hInstance,
+    IN HWND hWndListView,
+    IN const UINT* pIDs,
+    IN const INT* pColsWidth,
+    IN const INT* pColsAlign,
+    IN UINT nNumOfColumns)
 {
-    WCHAR szText[50];
-    int index;
+    UINT i;
     LVCOLUMN lvC;
+    WCHAR szText[50];
 
-    /* Create columns. */
+    /* Create the columns */
     lvC.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
     lvC.pszText = szText;
 
-    /* Load the column labels from the resource file. */
-    for (index = 0; index < MAX_LIST_COLUMNS; index++)
+    /* Load the column labels from the resource file */
+    for (i = 0; i < nNumOfColumns; i++)
     {
-        lvC.iSubItem = index;
-        lvC.cx = default_column_widths[index];
-        lvC.fmt = column_alignment[index];
+        lvC.iSubItem = i;
+        lvC.cx = pColsWidth[i];
+        lvC.fmt = pColsAlign[i];
 
-        LoadStringW(hInstance, IDS_LIST_COLUMN_FIRST + index, szText, 50);
+        LoadStringW(hInstance, pIDs[i], szText, ARRAYSIZE(szText));
 
-        if (ListView_InsertColumn(hWndListView, index, &lvC) == -1)
+        if (ListView_InsertColumn(hWndListView, i, &lvC) == -1)
             return FALSE;
     }
+
     return TRUE;
 }
 
@@ -167,7 +172,11 @@ DriveDlgProc(
             SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (DWORD_PTR)pSetupData);
 
             CreateListViewColumns(pSetupData->hInstance,
-                                  GetDlgItem(hwndDlg, IDC_PARTITION));
+                                  GetDlgItem(hwndDlg, IDC_PARTITION),
+                                  column_ids,
+                                  column_widths,
+                                  column_alignment,
+                                  MAX_LIST_COLUMNS);
 
 #if 1
             h = SetupDiGetClassDevs(&GUID_DEVCLASS_DISKDRIVE, NULL, NULL, 
DIGCF_PRESENT);
diff --git a/base/setup/reactos/lang/bg-BG.rc b/base/setup/reactos/lang/bg-BG.rc
index 51c5e1efa3..0dfb5d6e67 100644
--- a/base/setup/reactos/lang/bg-BG.rc
+++ b/base/setup/reactos/lang/bg-BG.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "Натиснете „Напред“ за настройка на устройствата.", IDC_STATIC, 7, 
128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Настройка на РеактОС"
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "Настройка на РеактОС"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/cs-CZ.rc b/base/setup/reactos/lang/cs-CZ.rc
index 0e0afec167..044a6d9029 100644
--- a/base/setup/reactos/lang/cs-CZ.rc
+++ b/base/setup/reactos/lang/cs-CZ.rc
@@ -28,6 +28,17 @@ BEGIN
     LTEXT "Po klepnutí na Další bude možné nastavit zařízení.", IDC_STATIC, 7, 
128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Instalace systému ReactOS"
@@ -135,6 +146,13 @@ BEGIN
     IDS_CAPTION "Instalace systému ReactOS"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/de-DE.rc b/base/setup/reactos/lang/de-DE.rc
index c8aaea7d4a..d6deb52614 100644
--- a/base/setup/reactos/lang/de-DE.rc
+++ b/base/setup/reactos/lang/de-DE.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "Klicken Sie auf Weiter um die Geräte einzustellen.", IDC_STATIC, 7, 
128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "ReactOS-Setup"
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "ReactOS Setup"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/el-GR.rc b/base/setup/reactos/lang/el-GR.rc
index d09edc7ae8..5131e5acba 100644
--- a/base/setup/reactos/lang/el-GR.rc
+++ b/base/setup/reactos/lang/el-GR.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "Πατήστε Επόμενο για να ρυθμίσετε τις συσκευές.", IDC_STATIC, 7, 
128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Εγκατάσταση του ReactOS"
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "ReactOS Setup"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/en-US.rc b/base/setup/reactos/lang/en-US.rc
index f8c01ad21d..1009cf9206 100644
--- a/base/setup/reactos/lang/en-US.rc
+++ b/base/setup/reactos/lang/en-US.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "Click Next to continue.", IDC_STATIC, 7, 128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "ReactOS Setup"
@@ -33,7 +44,7 @@ BEGIN
     CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | 
CBS_DROPDOWNLIST, 100, 35, 180, 80
     LTEXT "Keyboard:", IDC_STATIC, 20, 55, 80, 10
     CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | 
CBS_DROPDOWNLIST, 100, 55, 180, 80
-    LTEXT "Click Next to setup of the installation device.", IDC_STATIC, 7, 
128, 297, 8
+    LTEXT "Click Next to continue setup on the installation device.", 
IDC_STATIC, 7, 128, 297, 8
 END
 
 IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
@@ -59,7 +70,7 @@ BEGIN
     LTEXT "Size:", IDC_STATIC, 13, 24, 27, 9
     EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
     LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
-    LTEXT "Filesystem:", IDC_STATIC, 13, 46, 42, 9
+    LTEXT "File System:", IDC_STATIC, 13, 46, 42, 9
     CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | 
CBS_DROPDOWNLIST, 58, 42, 73, 50
     PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
     PUSHBUTTON "&Cancel", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "ReactOS Setup"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/es-ES.rc b/base/setup/reactos/lang/es-ES.rc
index 4d86cadbd4..604b5f7665 100644
--- a/base/setup/reactos/lang/es-ES.rc
+++ b/base/setup/reactos/lang/es-ES.rc
@@ -30,6 +30,17 @@ BEGIN
     LTEXT "Presione Siguiente para instalar los dispositivos.", IDC_STATIC, 7, 
128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Instalación de ReactOS"
@@ -137,6 +148,13 @@ BEGIN
     IDS_CAPTION "Instalación de ReactOS"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Nombre"
diff --git a/base/setup/reactos/lang/et-EE.rc b/base/setup/reactos/lang/et-EE.rc
index d92f7ca129..9eca1f8a9f 100644
--- a/base/setup/reactos/lang/et-EE.rc
+++ b/base/setup/reactos/lang/et-EE.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "Vajuta Järgmine, et seadmeid paigaldada.", IDC_STATIC, 7, 128, 297, 
8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "ReactOSi paigaldamine"
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "ReactOSi paigaldamine"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/fi-FI.rc b/base/setup/reactos/lang/fi-FI.rc
index 9f8c8af1f0..6c55eb004e 100644
--- a/base/setup/reactos/lang/fi-FI.rc
+++ b/base/setup/reactos/lang/fi-FI.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "Click Next to setup the devices.", IDC_STATIC, 7, 128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "ReactOS Setup"
@@ -33,7 +44,7 @@ BEGIN
     CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | 
CBS_DROPDOWNLIST, 100, 35, 180, 80
     LTEXT "Keyboard:", IDC_STATIC, 20, 55, 80, 10
     CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | 
CBS_DROPDOWNLIST, 100, 55, 180, 80
-    LTEXT "Click Next to setup of the installation device.", IDC_STATIC, 7, 
128, 297, 8
+    LTEXT "Click Next to continue setup on the installation device.", 
IDC_STATIC, 7, 128, 297, 8
 END
 
 IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
@@ -59,7 +70,7 @@ BEGIN
     LTEXT "Size:", IDC_STATIC, 13, 24, 27, 9
     EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
     LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
-    LTEXT "Filesystem:", IDC_STATIC, 13, 46, 42, 9
+    LTEXT "File System:", IDC_STATIC, 13, 46, 42, 9
     CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | 
CBS_DROPDOWNLIST, 58, 42, 73, 50
     PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
     PUSHBUTTON "&Cancel", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "ReactOS Setup"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/fr-FR.rc b/base/setup/reactos/lang/fr-FR.rc
index 65cabb21a9..d27d347114 100644
--- a/base/setup/reactos/lang/fr-FR.rc
+++ b/base/setup/reactos/lang/fr-FR.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "Click Next to setup the devices.", IDC_STATIC, 7, 1280, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Installation de ReactOS"
@@ -33,7 +44,7 @@ BEGIN
     CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | 
CBS_DROPDOWNLIST, 100, 35, 180, 80
     LTEXT "Keyboard:", IDC_STATIC, 20, 55, 80, 10
     CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | 
CBS_DROPDOWNLIST, 100, 55, 180, 80
-    LTEXT "Click Next to setup of the installation device.", IDC_STATIC, 7, 
128, 297, 8
+    LTEXT "Click Next to continue setup on the installation device.", 
IDC_STATIC, 7, 128, 297, 8
 END
 
 IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
@@ -59,7 +70,7 @@ BEGIN
     LTEXT "Size:", IDC_STATIC, 13, 24, 27, 9
     EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
     LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
-    LTEXT "Filesystem:", IDC_STATIC, 13, 46, 42, 9
+    LTEXT "File System:", IDC_STATIC, 13, 46, 42, 9
     CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | 
CBS_DROPDOWNLIST, 58, 42, 73, 50
     PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
     PUSHBUTTON "&Cancel", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "Installation de ReactOS"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/he-IL.rc b/base/setup/reactos/lang/he-IL.rc
index 514d55f578..f0666ccdfa 100644
--- a/base/setup/reactos/lang/he-IL.rc
+++ b/base/setup/reactos/lang/he-IL.rc
@@ -24,6 +24,17 @@ BEGIN
     LTEXT "לחץ על הבא כדי להגדיר את ההתקנים", IDC_STATIC, 7, 128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "התקנת ReactOS"
@@ -131,6 +142,13 @@ BEGIN
     IDS_CAPTION "התקנת ReactOS"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/hu-HU.rc b/base/setup/reactos/lang/hu-HU.rc
index 60a86e2cd9..388f86c41e 100644
--- a/base/setup/reactos/lang/hu-HU.rc
+++ b/base/setup/reactos/lang/hu-HU.rc
@@ -24,6 +24,17 @@ BEGIN
     LTEXT "Click Next to setup the devices.", IDC_STATIC, 7, 128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "ReactOS Setup"
@@ -35,7 +46,7 @@ BEGIN
     CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | 
CBS_DROPDOWNLIST, 100, 35, 180, 80
     LTEXT "Keyboard:", IDC_STATIC, 20, 55, 80, 10
     CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | 
CBS_DROPDOWNLIST, 100, 55, 180, 80
-    LTEXT "Click Next to setup of the installation device.", IDC_STATIC, 7, 
128, 297, 8
+    LTEXT "Click Next to continue setup on the installation device.", 
IDC_STATIC, 7, 128, 297, 8
 END
 
 IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
@@ -61,7 +72,7 @@ BEGIN
     LTEXT "Size:", IDC_STATIC, 13, 24, 27, 9
     EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
     LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
-    LTEXT "Filesystem:", IDC_STATIC, 13, 46, 42, 9
+    LTEXT "File System:", IDC_STATIC, 13, 46, 42, 9
     CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | 
CBS_DROPDOWNLIST, 58, 42, 73, 50
     PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
     PUSHBUTTON "&Cancel", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
@@ -131,6 +142,13 @@ BEGIN
     IDS_CAPTION "ReactOS Setup"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/it-IT.rc b/base/setup/reactos/lang/it-IT.rc
index a17856fbc9..6849d89fa7 100644
--- a/base/setup/reactos/lang/it-IT.rc
+++ b/base/setup/reactos/lang/it-IT.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "Cliccare Avanti per impostare i dispositivi.", IDC_STATIC, 7, 128, 
297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "Installazione di ReactOS"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Installazione di ReactOS"
@@ -125,10 +136,17 @@ BEGIN
     IDS_SUMMARYSUBTITLE "Lista delle proprietà della installazione da 
controllare prima che siano eseguite sul dispositivo di installazione"
     IDS_ABORTSETUP "ReactOS non è installato completamente sul computer. Se 
interropete l'installazione ora sarà necessario eseguire l'installazione di 
nuovo. Volete procedere?"
     IDS_ABORTSETUP2 "Volete interrompere l'installazione?"
-    IDS_NO_TXTSETUP_SIF "Impossibile trovare 'txtsetup.sif'\nL'installazione 
non può continuare."
+    IDS_NO_TXTSETUP_SIF "Impossibile trovare 'txtsetup.sif'.\nL'installazione 
non può continuare."
     IDS_CAPTION "Installazione di ReactOS"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Nome"
diff --git a/base/setup/reactos/lang/ja-JP.rc b/base/setup/reactos/lang/ja-JP.rc
index 8b81028847..b1a740631e 100644
--- a/base/setup/reactos/lang/ja-JP.rc
+++ b/base/setup/reactos/lang/ja-JP.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "次へをクリックすると続行します", IDC_STATIC, 7, 128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "ReactOS セットアップ"
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "ReactOS セットアップ"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "名前"
diff --git a/base/setup/reactos/lang/ms-MY.rc b/base/setup/reactos/lang/ms-MY.rc
index 38bbba2687..e4d22c7561 100644
--- a/base/setup/reactos/lang/ms-MY.rc
+++ b/base/setup/reactos/lang/ms-MY.rc
@@ -24,6 +24,17 @@ BEGIN
     LTEXT "Klik Seterusnya untuk memasang peranti.", IDC_STATIC, 7, 128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "ReactOS Persediaan"
@@ -131,6 +142,13 @@ BEGIN
     IDS_CAPTION "ReactOS Persediaan"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/no-NO.rc b/base/setup/reactos/lang/no-NO.rc
index 7a1f46c520..9213e76e5c 100644
--- a/base/setup/reactos/lang/no-NO.rc
+++ b/base/setup/reactos/lang/no-NO.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "Trykk på Neste for installere enhetene.", IDC_STATIC, 7, 128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "ReactOS installering"
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "ReactOS installering"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/pl-PL.rc b/base/setup/reactos/lang/pl-PL.rc
index f0a2ccd207..6b11b5f35c 100644
--- a/base/setup/reactos/lang/pl-PL.rc
+++ b/base/setup/reactos/lang/pl-PL.rc
@@ -33,6 +33,17 @@ BEGIN
     LTEXT "Naciśnij Dalej, aby zmienić ustawienia sprzętu.", IDC_STATIC, 7, 
128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Instalator ReactOS"
@@ -140,6 +151,13 @@ BEGIN
     IDS_CAPTION "Instalator ReactOS"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Nazwa"
diff --git a/base/setup/reactos/lang/pt-BR.rc b/base/setup/reactos/lang/pt-BR.rc
index 9d0d94ca73..8a812f59dc 100644
--- a/base/setup/reactos/lang/pt-BR.rc
+++ b/base/setup/reactos/lang/pt-BR.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "Clique em Próximo para configurar os dispositivos.", IDC_STATIC, 7, 
128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Instalação do ReactOS"
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "Instalação do ReactOS"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/ro-RO.rc b/base/setup/reactos/lang/ro-RO.rc
index 7896384045..14dff513b9 100644
--- a/base/setup/reactos/lang/ro-RO.rc
+++ b/base/setup/reactos/lang/ro-RO.rc
@@ -31,6 +31,17 @@ BEGIN
     LTEXT "Apăsați pe „Înainte” pentru configurarea de dispozitive.", 
IDC_STATIC, 7, 128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Asistent de instalare ReactOS"
@@ -138,6 +149,13 @@ BEGIN
     IDS_CAPTION "Asistentul de instalare ReactOS"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Nume"
diff --git a/base/setup/reactos/lang/ru-RU.rc b/base/setup/reactos/lang/ru-RU.rc
index 66fb9c9467..d70e9973d7 100644
--- a/base/setup/reactos/lang/ru-RU.rc
+++ b/base/setup/reactos/lang/ru-RU.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "Для установки устройств нажмите ""Далее"".", IDC_STATIC, 7, 128, 
297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Установка ReactOS"
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "Установка ReactOS"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Имя"
diff --git a/base/setup/reactos/lang/sk-SK.rc b/base/setup/reactos/lang/sk-SK.rc
index a9beaf345e..20849ddecd 100644
--- a/base/setup/reactos/lang/sk-SK.rc
+++ b/base/setup/reactos/lang/sk-SK.rc
@@ -27,6 +27,17 @@ BEGIN
     LTEXT "Click Next to setup the devices.", IDC_STATIC, 7, 128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Inštalácia systému ReactOS"
@@ -134,6 +145,13 @@ BEGIN
     IDS_CAPTION "ReactOS Setup"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/sq-AL.rc b/base/setup/reactos/lang/sq-AL.rc
index 3cd195faf6..c1f718e6ff 100644
--- a/base/setup/reactos/lang/sq-AL.rc
+++ b/base/setup/reactos/lang/sq-AL.rc
@@ -24,6 +24,17 @@ BEGIN
     LTEXT "Kliko vazhdo për të konfiguruar pajisjet.", IDC_STATIC, 7, 128, 
297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Instalimi i ReactOS"
@@ -131,6 +142,13 @@ BEGIN
     IDS_CAPTION "ReactOS Setup"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/tr-TR.rc b/base/setup/reactos/lang/tr-TR.rc
index c695ad0350..29153a11e8 100644
--- a/base/setup/reactos/lang/tr-TR.rc
+++ b/base/setup/reactos/lang/tr-TR.rc
@@ -24,6 +24,17 @@ BEGIN
     LTEXT "Aygıtları kurmak için İleri'ye tıklayınız.", IDC_STATIC, 7, 128, 
297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "ReactOS Kur"
@@ -131,6 +142,13 @@ BEGIN
     IDS_CAPTION "ReactOS Kur"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Ad"
diff --git a/base/setup/reactos/lang/uk-UA.rc b/base/setup/reactos/lang/uk-UA.rc
index 7487e2b137..ddcefcbcfe 100644
--- a/base/setup/reactos/lang/uk-UA.rc
+++ b/base/setup/reactos/lang/uk-UA.rc
@@ -30,6 +30,17 @@ BEGIN
     LTEXT "Для встановлення пристроїв натисніть Далі.", IDC_STATIC, 7, 128, 
297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Встановлення ReactOS"
@@ -137,6 +148,13 @@ BEGIN
     IDS_CAPTION "Встановлення ReactOS"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Name"
diff --git a/base/setup/reactos/lang/vi-VN.rc b/base/setup/reactos/lang/vi-VN.rc
index 02eb29a8e9..6738ad0e42 100644
--- a/base/setup/reactos/lang/vi-VN.rc
+++ b/base/setup/reactos/lang/vi-VN.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "Ấn Tiếp để tiếp tục.", IDC_STATIC, 7, 128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "Cài đặt ReactOS"
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "Cài đặt ReactOS"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "Tên"
diff --git a/base/setup/reactos/lang/zh-CN.rc b/base/setup/reactos/lang/zh-CN.rc
index 94a265ae45..adf33cdfb0 100644
--- a/base/setup/reactos/lang/zh-CN.rc
+++ b/base/setup/reactos/lang/zh-CN.rc
@@ -22,6 +22,17 @@ BEGIN
     LTEXT "点击下一步安装设备。", IDC_STATIC, 7, 128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "ReactOS 安装程序"
@@ -129,6 +140,13 @@ BEGIN
     IDS_CAPTION "ReactOS 安装程序"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "名称"
diff --git a/base/setup/reactos/lang/zh-TW.rc b/base/setup/reactos/lang/zh-TW.rc
index a87bd3c5f8..c5e511dc0f 100644
--- a/base/setup/reactos/lang/zh-TW.rc
+++ b/base/setup/reactos/lang/zh-TW.rc
@@ -24,6 +24,17 @@ BEGIN
     LTEXT "點選下一步安裝裝置。", IDC_STATIC, 7, 128, 297, 8
 END
 
+IDD_UPDATEREPAIRPAGE DIALOGEX 0, 0, 317, 143
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
+CAPTION "ReactOS Setup"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    LTEXT       "The ReactOS Setup can upgrade one of the available ReactOS 
installations listed below, or, if a ReactOS installation is damaged, the Setup 
program can attempt to repair it.", IDC_STATIC, 6, 6, 300, 18
+    CONTROL     "", IDC_NTOSLIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL 
| LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP, 6, 30, 303, 90
+    PUSHBUTTON  "&Do not upgrade", IDC_SKIPUPGRADE, 230, 128, 80, 14
+    LTEXT       "Click Next to upgrade the selected OS installation, or on 'Do 
not upgrade' to continue a new installation without upgrading.", IDC_STATIC, 7, 
128, 222, 16
+END
+
 IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
WS_SYSMENU
 CAPTION "ReactOS 安裝"
@@ -131,6 +142,13 @@ BEGIN
     IDS_CAPTION "ReactOS 安裝"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INSTALLATION_NAME "Name"
+    IDS_INSTALLATION_PATH "Installation Path"
+    IDS_INSTALLATION_VENDOR "Vendor Name"
+END
+
 STRINGTABLE
 BEGIN
     IDS_PARTITION_NAME "名稱"
diff --git a/base/setup/reactos/reactos.c b/base/setup/reactos/reactos.c
index 13cdd88f7b..23c659c3d5 100644
--- a/base/setup/reactos/reactos.c
+++ b/base/setup/reactos/reactos.c
@@ -103,10 +103,11 @@ INT DisplayError(
 }
 
 static INT_PTR CALLBACK
-StartDlgProc(HWND hwndDlg,
-             UINT uMsg,
-             WPARAM wParam,
-             LPARAM lParam)
+StartDlgProc(
+    IN HWND hwndDlg,
+    IN UINT uMsg,
+    IN WPARAM wParam,
+    IN LPARAM lParam)
 {
     PSETUPDATA pSetupData;
 
@@ -156,10 +157,11 @@ StartDlgProc(HWND hwndDlg,
 }
 
 static INT_PTR CALLBACK
-TypeDlgProc(HWND hwndDlg,
-            UINT uMsg,
-            WPARAM wParam,
-            LPARAM lParam)
+TypeDlgProc(
+    IN HWND hwndDlg,
+    IN UINT uMsg,
+    IN WPARAM wParam,
+    IN LPARAM lParam)
 {
     PSETUPDATA pSetupData;
 
@@ -220,11 +222,89 @@ TypeDlgProc(HWND hwndDlg,
     return FALSE;
 }
 
+#define MAX_LIST_COLUMNS (IDS_LIST_COLUMN_LAST - IDS_LIST_COLUMN_FIRST + 1)
+static const UINT column_ids[MAX_LIST_COLUMNS] = {IDS_LIST_COLUMN_FIRST, 
IDS_LIST_COLUMN_FIRST + 1, IDS_LIST_COLUMN_FIRST + 2};
+static const INT  column_widths[MAX_LIST_COLUMNS] = {200, 150, 150};
+static const INT  column_alignment[MAX_LIST_COLUMNS] = {LVCFMT_LEFT, 
LVCFMT_LEFT, LVCFMT_LEFT};
+
 static INT_PTR CALLBACK
-DeviceDlgProc(HWND hwndDlg,
-              UINT uMsg,
-              WPARAM wParam,
-              LPARAM lParam)
+UpgradeRepairDlgProc(
+    IN HWND hwndDlg,
+    IN UINT uMsg,
+    IN WPARAM wParam,
+    IN LPARAM lParam)
+{
+    PSETUPDATA pSetupData;
+    HWND hList;
+
+    /* Retrieve pointer to the global setup data */
+    pSetupData = (PSETUPDATA)GetWindowLongPtrW(hwndDlg, GWL_USERDATA);
+
+    switch (uMsg)
+    {
+        case WM_INITDIALOG:
+        {
+            /* Save pointer to the global setup data */
+            pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
+            SetWindowLongPtrW(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
+
+            hList = GetDlgItem(hwndDlg, IDC_LIST1);
+
+            CreateListViewColumns(pSetupData->hInstance,
+                                  hList,
+                                  column_ids,
+                                  column_widths,
+                                  column_alignment,
+                                  MAX_LIST_COLUMNS);
+
+            break;
+        }
+
+        case WM_NOTIFY:
+        {
+            LPNMHDR lpnm = (LPNMHDR)lParam;
+
+            switch (lpnm->code)
+            {
+                case PSN_SETACTIVE:
+                    PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT | 
PSWIZB_BACK);
+                    break;
+
+                case PSN_QUERYCANCEL:
+                    SetWindowLongPtrW(hwndDlg,
+                                     DWL_MSGRESULT,
+                                     MessageBox(GetParent(hwndDlg),
+                                                pSetupData->szAbortMessage,
+                                                pSetupData->szAbortTitle,
+                                                MB_YESNO | MB_ICONQUESTION) != 
IDYES);
+                    return TRUE;
+
+                case PSN_WIZNEXT: // set the selected data
+                    pSetupData->RepairUpdateFlag = 
!(SendMessageW(GetDlgItem(hwndDlg, IDC_INSTALL),
+                                                                 BM_GETCHECK,
+                                                                 (WPARAM) 0,
+                                                                 (LPARAM) 0) 
== BST_CHECKED);
+                    return TRUE;
+
+                default:
+                    break;
+            }
+        }
+        break;
+
+        default:
+            break;
+
+    }
+    return FALSE;
+}
+
+static INT_PTR CALLBACK
+DeviceDlgProc(
+    IN HWND hwndDlg,
+    IN UINT uMsg,
+    IN WPARAM wParam,
+    IN LPARAM lParam)
 {
     PSETUPDATA pSetupData;
     LONG i;
@@ -339,10 +419,11 @@ DeviceDlgProc(HWND hwndDlg,
 }
 
 static INT_PTR CALLBACK
-SummaryDlgProc(HWND hwndDlg,
-               UINT uMsg,
-               WPARAM wParam,
-               LPARAM lParam)
+SummaryDlgProc(
+    IN HWND hwndDlg,
+    IN UINT uMsg,
+    IN WPARAM wParam,
+    IN LPARAM lParam)
 {
     PSETUPDATA pSetupData;
 
@@ -389,10 +470,11 @@ SummaryDlgProc(HWND hwndDlg,
 }
 
 static INT_PTR CALLBACK
-ProcessDlgProc(HWND hwndDlg,
-               UINT uMsg,
-               WPARAM wParam,
-               LPARAM lParam)
+ProcessDlgProc(
+    IN HWND hwndDlg,
+    IN UINT uMsg,
+    IN WPARAM wParam,
+    IN LPARAM lParam)
 {
     PSETUPDATA pSetupData;
 
@@ -441,10 +523,11 @@ ProcessDlgProc(HWND hwndDlg,
 }
 
 static INT_PTR CALLBACK
-RestartDlgProc(HWND hwndDlg,
-               UINT uMsg,
-               WPARAM wParam,
-               LPARAM lParam)
+RestartDlgProc(
+    IN HWND hwndDlg,
+    IN UINT uMsg,
+    IN WPARAM wParam,
+    IN LPARAM lParam)
 {
     PSETUPDATA pSetupData;
 
@@ -516,7 +599,7 @@ RestartDlgProc(HWND hwndDlg,
 }
 
 BOOL LoadSetupData(
-    PSETUPDATA pSetupData)
+    IN OUT PSETUPDATA pSetupData)
 {
     BOOL ret = TRUE;
     INFCONTEXT InfContext;
@@ -827,6 +910,7 @@ _tWinMain(HINSTANCE hInst,
         DisplayError(NULL, IDS_CAPTION, IDS_NO_TXTSETUP_SIF);
         goto Quit;
     }
+
     /* Load extra setup data (HW lists etc...) */
     if (!LoadSetupData(&SetupData))
         goto Quit;
@@ -854,7 +938,7 @@ _tWinMain(HINSTANCE hInst,
         psp.pszTemplate = MAKEINTRESOURCE(IDD_STARTPAGE);
         ahpsp[nPages++] = CreatePropertySheetPage(&psp);
 
-        /* Create install type selection page */
+        /* Create the install type selection page */
         psp.dwSize = sizeof(PROPSHEETPAGE);
         psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
         psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_TYPETITLE);
@@ -865,7 +949,18 @@ _tWinMain(HINSTANCE hInst,
         psp.pszTemplate = MAKEINTRESOURCE(IDD_TYPEPAGE);
         ahpsp[nPages++] = CreatePropertySheetPage(&psp);
 
-        /* Create device settings page */
+        /* Create the upgrade/repair selection page */
+        psp.dwSize = sizeof(PROPSHEETPAGE);
+        psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
+        psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_TYPETITLE);
+        psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_TYPESUBTITLE);
+        psp.hInstance = hInst;
+        psp.lParam = (LPARAM)&SetupData;
+        psp.pfnDlgProc = UpgradeRepairDlgProc;
+        psp.pszTemplate = MAKEINTRESOURCE(IDD_UPDATEREPAIRPAGE);
+        ahpsp[nPages++] = CreatePropertySheetPage(&psp);
+
+        /* Create the device settings page */
         psp.dwSize = sizeof(PROPSHEETPAGE);
         psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
         psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_DEVICETITLE);
@@ -876,7 +971,7 @@ _tWinMain(HINSTANCE hInst,
         psp.pszTemplate = MAKEINTRESOURCE(IDD_DEVICEPAGE);
         ahpsp[nPages++] = CreatePropertySheetPage(&psp);
 
-        /* Create install device settings page / boot method / install 
directory */
+        /* Create the install device settings page / boot method / install 
directory */
         psp.dwSize = sizeof(PROPSHEETPAGE);
         psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
         psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_DRIVETITLE);
@@ -887,7 +982,7 @@ _tWinMain(HINSTANCE hInst,
         psp.pszTemplate = MAKEINTRESOURCE(IDD_DRIVEPAGE);
         ahpsp[nPages++] = CreatePropertySheetPage(&psp);
 
-        /* Create summary page */
+        /* Create the summary page */
         psp.dwSize = sizeof(PROPSHEETPAGE);
         psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
         psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_SUMMARYTITLE);
@@ -899,7 +994,7 @@ _tWinMain(HINSTANCE hInst,
         ahpsp[nPages++] = CreatePropertySheetPage(&psp);
     }
 
-    /* Create installation progress page */
+    /* Create the installation progress page */
     psp.dwSize = sizeof(PROPSHEETPAGE);
     psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
     psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_PROCESSTITLE);
@@ -910,7 +1005,7 @@ _tWinMain(HINSTANCE hInst,
     psp.pszTemplate = MAKEINTRESOURCE(IDD_PROCESSPAGE);
     ahpsp[nPages++] = CreatePropertySheetPage(&psp);
 
-    /* Create finish to reboot page */
+    /* Create the finish-and-reboot page */
     psp.dwSize = sizeof(PROPSHEETPAGE);
     psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER;
     psp.hInstance = hInst;
diff --git a/base/setup/reactos/reactos.h b/base/setup/reactos/reactos.h
index 15323db5df..a27eea12a4 100644
--- a/base/setup/reactos/reactos.h
+++ b/base/setup/reactos/reactos.h
@@ -70,7 +70,6 @@ typedef struct _KBLAYOUT
     TCHAR DllName[128];
 } KBLAYOUT, *PKBLAYOUT;
 
-
 // generic entries with simple 1:1 mapping
 typedef struct _GENENTRY
 {
@@ -78,6 +77,7 @@ typedef struct _GENENTRY
     TCHAR Value[128];
 } GENENTRY, *PGENENTRY;
 
+
 typedef struct _SETUPDATA
 {
     /* General */
@@ -102,10 +102,12 @@ typedef struct _SETUPDATA
     LONG SelectedComputer; // selected computer type (table index)
     LONG SelectedDisplay; // selected display type (table index)
     LONG SelectedKeyboard; // selected keyboard type (table index)
+
     BOOLEAN RepairUpdateFlag; // flag for update/repair an installed reactos
 
 
     // txtsetup.sif data
+#if 1
     LONG DefaultLang; // default language (table index)
     PLANG pLanguages;
     LONG LangCount;
@@ -118,11 +120,32 @@ typedef struct _SETUPDATA
     LONG DispCount;
     PGENENTRY pKeyboards;
     LONG KeybCount;
+
+#else
+
+    // LONG DefaultLang; // default language (table index)
+    // LONG DefaultKBLayout; // default keyboard layout (table index)
+    PWCHAR SelectedLanguageId;
+    WCHAR DefaultLanguage[20];   // Copy of string inside LanguageList
+    WCHAR DefaultKBLayout[20];   // Copy of string inside KeyboardList
+
+    PGENERIC_LIST ComputerList;
+    PGENERIC_LIST DisplayList;
+    PGENERIC_LIST KeyboardList;
+    PGENERIC_LIST LayoutList;
+    PGENERIC_LIST LanguageList;
+
+    PPARTLIST PartitionList;
+    PNTOS_INSTALLATION CurrentInstallation;
+    PGENERIC_LIST NtOsInstallsList;
+#endif
+
 } SETUPDATA, *PSETUPDATA;
 
 extern HANDLE ProcessHeap;
 extern BOOLEAN IsUnattendedSetup;
 
+
 typedef struct _IMGINFO
 {
     HBITMAP hBitmap;
@@ -131,7 +154,6 @@ typedef struct _IMGINFO
 } IMGINFO, *PIMGINFO;
 
 
-
 /*
  * Attempts to convert a pure NT file path into a corresponding Win32 path.
  * Adapted from GetInstallSourceWin32() in dll/win32/syssetup/wizard.c
@@ -144,6 +166,16 @@ ConvertNtPathToWin32Path(
 
 
 /* drivepage.c */
+
+BOOL
+CreateListViewColumns(
+    IN HINSTANCE hInstance,
+    IN HWND hWndListView,
+    IN const UINT* pIDs,
+    IN const INT* pColsWidth,
+    IN const INT* pColsAlign,
+    IN UINT nNumOfColumns);
+
 INT_PTR
 CALLBACK
 DriveDlgProc(
diff --git a/base/setup/reactos/resource.h b/base/setup/reactos/resource.h
index 58faa030bf..05ea086801 100644
--- a/base/setup/reactos/resource.h
+++ b/base/setup/reactos/resource.h
@@ -1,14 +1,14 @@
 #pragma once
 
 /* Bitmaps */
-#define IDB_WATERMARK 100
-#define IDB_HEADER    101
+#define IDB_WATERMARK       100
+#define IDB_HEADER          101
 
 /* Icons */
-#define IDI_MAIN 3000
+#define IDI_MAIN            3000
 
 
-#define IDC_STATIC -1
+#define IDC_STATIC          -1
 
 /* Dialogs */
 #define IDD_STARTPAGE        2000
@@ -20,6 +20,10 @@
 #define IDC_UPDATE           2008
 #define IDC_UPDATETEXT       2009
 
+#define IDD_UPDATEREPAIRPAGE    2060
+#define IDC_NTOSLIST            2061
+#define IDC_SKIPUPGRADE         2062
+
 #define IDD_DEVICEPAGE       2011
 #define IDC_COMPUTER         2014
 #define IDC_DISPLAY          2015
@@ -73,6 +77,9 @@
 #define IDS_NO_TXTSETUP_SIF  5053
 #define IDS_CAPTION          5054
 
+#define IDS_INSTALLATION_NAME   5100
+#define IDS_INSTALLATION_PATH   5101
+#define IDS_INSTALLATION_VENDOR 5102
 
 #define IDS_PARTITION_NAME   5200
 #define IDS_PARTITION_SIZE   5201

Reply via email to