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

commit 3f053db3e704db680cdc7b48ff97eb64299fdd39
Author:     Eric Kohl <[email protected]>
AuthorDate: Sun Jan 9 14:29:17 2022 +0100
Commit:     Eric Kohl <[email protected]>
CommitDate: Sun Jan 9 14:29:17 2022 +0100

    [SYSSETUP] Improve the Process Page
    
    - The page will support multiple tasks (WIP)
    - The background thread uses messages to update the page
---
 dll/win32/syssetup/lang/bg-BG.rc |  14 +-
 dll/win32/syssetup/lang/cs-CZ.rc |  14 +-
 dll/win32/syssetup/lang/da-DK.rc |  14 +-
 dll/win32/syssetup/lang/de-DE.rc |  15 +-
 dll/win32/syssetup/lang/el-GR.rc |  14 +-
 dll/win32/syssetup/lang/en-GB.rc |  14 +-
 dll/win32/syssetup/lang/en-US.rc |  15 +-
 dll/win32/syssetup/lang/es-ES.rc |  14 +-
 dll/win32/syssetup/lang/et-EE.rc |  14 +-
 dll/win32/syssetup/lang/eu-ES.rc |  14 +-
 dll/win32/syssetup/lang/fi-FI.rc |  14 +-
 dll/win32/syssetup/lang/fr-FR.rc |  14 +-
 dll/win32/syssetup/lang/he-IL.rc |  14 +-
 dll/win32/syssetup/lang/hi-IN.rc |  14 +-
 dll/win32/syssetup/lang/hu-HU.rc |  14 +-
 dll/win32/syssetup/lang/id-ID.rc |  14 +-
 dll/win32/syssetup/lang/it-IT.rc |  14 +-
 dll/win32/syssetup/lang/ja-JP.rc |  14 +-
 dll/win32/syssetup/lang/lt-LT.rc |  14 +-
 dll/win32/syssetup/lang/nl-NL.rc |  14 +-
 dll/win32/syssetup/lang/no-NO.rc |  14 +-
 dll/win32/syssetup/lang/pl-PL.rc |  14 +-
 dll/win32/syssetup/lang/pt-BR.rc |  14 +-
 dll/win32/syssetup/lang/pt-PT.rc |  14 +-
 dll/win32/syssetup/lang/ro-RO.rc |  14 +-
 dll/win32/syssetup/lang/ru-RU.rc |  14 +-
 dll/win32/syssetup/lang/sk-SK.rc |  14 +-
 dll/win32/syssetup/lang/sq-AL.rc |  14 +-
 dll/win32/syssetup/lang/sv-SE.rc |  14 +-
 dll/win32/syssetup/lang/th-TH.rc |  14 +-
 dll/win32/syssetup/lang/tr-TR.rc |  14 +-
 dll/win32/syssetup/lang/uk-UA.rc |  14 +-
 dll/win32/syssetup/lang/zh-CN.rc |  14 +-
 dll/win32/syssetup/lang/zh-HK.rc |  16 +-
 dll/win32/syssetup/lang/zh-TW.rc |  14 +-
 dll/win32/syssetup/resource.h    |  90 ++++----
 dll/win32/syssetup/wizard.c      | 428 ++++++++++++++++++++++-----------------
 37 files changed, 572 insertions(+), 440 deletions(-)

diff --git a/dll/win32/syssetup/lang/bg-BG.rc b/dll/win32/syssetup/lang/bg-BG.rc
index f02d2292ab5..bee9f41d4cd 100644
--- a/dll/win32/syssetup/lang/bg-BG.rc
+++ b/dll/win32/syssetup/lang/bg-BG.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Настройка на РеактОС"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Вписване на съставните", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Дата и време"
     IDS_DATETIMESUBTITLE "Задайте правилните дата и време."
-    IDS_PROCESSTITLE "Вписване на съставните"
-    IDS_PROCESSSUBTITLE "Почакайте..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Настройка на РеактОС"
     IDS_UNKNOWN_ERROR "Неизвестна грешка"
-    IDS_REGISTERING_COMPONENTS "Вписване на съставните..."
     IDS_LOADLIBRARY_FAILED "Грешка при LoadLibrary: "
     IDS_GETPROCADDR_FAILED "Грешка при GetProcAddr: "
     IDS_REGSVR_FAILED "Грешка при DllRegisterServer: "
diff --git a/dll/win32/syssetup/lang/cs-CZ.rc b/dll/win32/syssetup/lang/cs-CZ.rc
index 151e83400c9..a504c43ad35 100644
--- a/dll/win32/syssetup/lang/cs-CZ.rc
+++ b/dll/win32/syssetup/lang/cs-CZ.rc
@@ -119,9 +119,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS Instalátor"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registruji součásti", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -187,8 +190,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Datum a čas"
     IDS_DATETIMESUBTITLE "Nastavte správný čas pro Váš počítač."
-    IDS_PROCESSTITLE "Registrace součástí"
-    IDS_PROCESSSUBTITLE "Prosím čekejte..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -197,7 +200,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS Instalátor"
     IDS_UNKNOWN_ERROR "Neznámá chyba"
-    IDS_REGISTERING_COMPONENTS "Registruji součásti..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary selhalo: "
     IDS_GETPROCADDR_FAILED "GetProcAddr selhalo: "
     IDS_REGSVR_FAILED "DllRegisterServer selhalo: "
diff --git a/dll/win32/syssetup/lang/da-DK.rc b/dll/win32/syssetup/lang/da-DK.rc
index 2eae84398b0..140e754deb9 100644
--- a/dll/win32/syssetup/lang/da-DK.rc
+++ b/dll/win32/syssetup/lang/da-DK.rc
@@ -130,9 +130,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registering components", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -198,8 +201,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Date and Time"
     IDS_DATETIMESUBTITLE "Set the correct date and time for your computer."
-    IDS_PROCESSTITLE "Registering Components"
-    IDS_PROCESSSUBTITLE "Please wait..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -208,7 +211,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS Setup"
     IDS_UNKNOWN_ERROR "Unknown error"
-    IDS_REGISTERING_COMPONENTS "Registering components..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary failed: "
     IDS_GETPROCADDR_FAILED "GetProcAddr failed: "
     IDS_REGSVR_FAILED "DllRegisterServer failed: "
diff --git a/dll/win32/syssetup/lang/de-DE.rc b/dll/win32/syssetup/lang/de-DE.rc
index 5552e82e9e5..6802a7b0ac2 100644
--- a/dll/win32/syssetup/lang/de-DE.rc
+++ b/dll/win32/syssetup/lang/de-DE.rc
@@ -111,9 +111,13 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS-Installation"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registeren der Komponenten", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installieren der Elemente des Startmenüs", IDC_TASKTEXT2, 65, 39, 
232, 8
+    LTEXT "Speichern der Einstellungen", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Löschen der temporären Dateien", IDC_TASKTEXT4, 65, 63, 232, 8
+
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +183,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Datum und Uhrzeit"
     IDS_DATETIMESUBTITLE "Stellen Sie das korrekte Datum und die Uhrzeit für 
Ihren Computer ein."
-    IDS_PROCESSTITLE "Komponenten werden registriert"
-    IDS_PROCESSSUBTITLE "Bitte warten..."
+    IDS_PROCESSTITLE "Abschliessen der Installation"
+    IDS_PROCESSSUBTITLE "Bitte waten Sie, während die letzten 
Installationsschritte ausgeführt werden."
     IDS_THEMESELECTIONTITLE "Erscheinungsbild"
     IDS_THEMESELECTIONSUBTITLE "Wählen Sie Ihr bevorzugtes Theme"
 END
@@ -189,7 +193,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS-Installation"
     IDS_UNKNOWN_ERROR "Unbekannter Fehler"
-    IDS_REGISTERING_COMPONENTS "Registriere Komponenten..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary fehlgeschlagen: "
     IDS_GETPROCADDR_FAILED "GetProcAddr fehlgeschlagen: "
     IDS_REGSVR_FAILED "DllRegisterServer fehlgeschlagen: "
diff --git a/dll/win32/syssetup/lang/el-GR.rc b/dll/win32/syssetup/lang/el-GR.rc
index 163d0fc8958..907c2c32954 100644
--- a/dll/win32/syssetup/lang/el-GR.rc
+++ b/dll/win32/syssetup/lang/el-GR.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Εγκατάσταση του ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Καταχώρηση στοιχείων στο μητρώο", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Ημερομηνία και ώρα"
     IDS_DATETIMESUBTITLE "Ορίστε τη σωστή ημερομηνία και ώρα για τον 
υπολογιστή σας."
-    IDS_PROCESSTITLE "Τίτλος"
-    IDS_PROCESSSUBTITLE "Υπότιτλος"
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Εγκατάσταση του ReactOS"
     IDS_UNKNOWN_ERROR "Άγνωστο σφάλμα"
-    IDS_REGISTERING_COMPONENTS "Καταχώρηση στοιχείων στο μητρώο..."
     IDS_LOADLIBRARY_FAILED "Το LoadLibrary απέτυχε: "
     IDS_GETPROCADDR_FAILED "Το GetProcAddr απέτυχε: "
     IDS_REGSVR_FAILED "Το DllRegisterServer απέτυχε: "
diff --git a/dll/win32/syssetup/lang/en-GB.rc b/dll/win32/syssetup/lang/en-GB.rc
index 52dc9989491..f26c7ece156 100644
--- a/dll/win32/syssetup/lang/en-GB.rc
+++ b/dll/win32/syssetup/lang/en-GB.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registering components", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Date and Time"
     IDS_DATETIMESUBTITLE "Set the correct date and time for your computer."
-    IDS_PROCESSTITLE "Registering Components"
-    IDS_PROCESSSUBTITLE "Please wait..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 
@@ -190,7 +193,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS Setup"
     IDS_UNKNOWN_ERROR "Unknown error"
-    IDS_REGISTERING_COMPONENTS "Registering components..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary failed: "
     IDS_GETPROCADDR_FAILED "GetProcAddr failed: "
     IDS_REGSVR_FAILED "DllRegisterServer failed: "
diff --git a/dll/win32/syssetup/lang/en-US.rc b/dll/win32/syssetup/lang/en-US.rc
index c99ee4208a6..798607fd7bf 100644
--- a/dll/win32/syssetup/lang/en-US.rc
+++ b/dll/win32/syssetup/lang/en-US.rc
@@ -130,9 +130,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registering components", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -198,18 +201,16 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Date and Time"
     IDS_DATETIMESUBTITLE "Set the correct date and time for your computer."
-    IDS_PROCESSTITLE "Registering Components"
-    IDS_PROCESSSUBTITLE "Please wait..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
-
 END
 
 STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS Setup"
     IDS_UNKNOWN_ERROR "Unknown error"
-    IDS_REGISTERING_COMPONENTS "Registering components..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary failed: "
     IDS_GETPROCADDR_FAILED "GetProcAddr failed: "
     IDS_REGSVR_FAILED "DllRegisterServer failed: "
diff --git a/dll/win32/syssetup/lang/es-ES.rc b/dll/win32/syssetup/lang/es-ES.rc
index aec821b46c5..04aa522a9ee 100644
--- a/dll/win32/syssetup/lang/es-ES.rc
+++ b/dll/win32/syssetup/lang/es-ES.rc
@@ -120,9 +120,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Instalación de ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registrando componentes", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -188,8 +191,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Fecha y hora"
     IDS_DATETIMESUBTITLE "Fije la fecha y hora correcta de su equipo."
-    IDS_PROCESSTITLE "Registrando componentes"
-    IDS_PROCESSSUBTITLE "Espere un momento..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Apariencia"
     IDS_THEMESELECTIONSUBTITLE "Seleccione el estilo de su preferencia."
 END
@@ -198,7 +201,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Instalación de ReactOS"
     IDS_UNKNOWN_ERROR "Error desconocido"
-    IDS_REGISTERING_COMPONENTS "Registrando componentes..."
     IDS_LOADLIBRARY_FAILED "No se pudo cargar la librería: "
     IDS_GETPROCADDR_FAILED "No se pudo obtener la ubicación del proceso: "
     IDS_REGSVR_FAILED "No se pudo registrar la librería: "
diff --git a/dll/win32/syssetup/lang/et-EE.rc b/dll/win32/syssetup/lang/et-EE.rc
index f4dbf052aa5..989a6c35dfe 100644
--- a/dll/win32/syssetup/lang/et-EE.rc
+++ b/dll/win32/syssetup/lang/et-EE.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS'i paigaldus"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Komponentide registreerimine", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Kuupäev ja kellaaeg"
     IDS_DATETIMESUBTITLE "Sisesta õige kellaaeg ja kuupäev."
-    IDS_PROCESSTITLE "Komponentide registreerimine"
-    IDS_PROCESSSUBTITLE "Palun oota..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Välimus"
     IDS_THEMESELECTIONSUBTITLE "Vali endale eelistatav teema."
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS'i paigaldus"
     IDS_UNKNOWN_ERROR "Tundmatu viga"
-    IDS_REGISTERING_COMPONENTS "Komponentide registreerimine..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary ebaõnnestus: "
     IDS_GETPROCADDR_FAILED "GetProcAddr ebaõnnestus: "
     IDS_REGSVR_FAILED "DllRegisterServer ebaõnnestus: "
diff --git a/dll/win32/syssetup/lang/eu-ES.rc b/dll/win32/syssetup/lang/eu-ES.rc
index 6210af7e6a4..4af10662b54 100644
--- a/dll/win32/syssetup/lang/eu-ES.rc
+++ b/dll/win32/syssetup/lang/eu-ES.rc
@@ -117,9 +117,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS-aren Instalazioa"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Osagaiak erregistratzea", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -183,8 +186,8 @@ BEGIN
     IDS_LOCALESUBTITLE "ReactOS pertsonaliza dezakezu eskualde eta hizkuntza 
desberdinetarako."
     IDS_DATETIMETITLE "Data eta ordua"
     IDS_DATETIMESUBTITLE "Ezarri zure ordenagailurako data eta ordu egokiak."
-    IDS_PROCESSTITLE "Osagaiak erregistratzea"
-    IDS_PROCESSSUBTITLE "Itxaron momentu bat..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Itxura"
     IDS_THEMESELECTIONSUBTITLE "Hautatu gustuko duzun itxura."
 END
@@ -193,7 +196,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS-aren Instalazioa"
     IDS_UNKNOWN_ERROR "Errore ezezaguna"
-    IDS_REGISTERING_COMPONENTS "Osagaiak erregistratzea..."
     IDS_LOADLIBRARY_FAILED "Ezin izan da liburutegia kargatu: "
     IDS_GETPROCADDR_FAILED "Ezin izan da prozesuaren kokapena lortu: "
     IDS_REGSVR_FAILED "Ezin izan da liburutegia erregistratu: "
diff --git a/dll/win32/syssetup/lang/fi-FI.rc b/dll/win32/syssetup/lang/fi-FI.rc
index cdf3c2ab56c..312688b6c39 100644
--- a/dll/win32/syssetup/lang/fi-FI.rc
+++ b/dll/win32/syssetup/lang/fi-FI.rc
@@ -130,9 +130,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registering components", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -198,8 +201,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Date and Time"
     IDS_DATETIMESUBTITLE "Set the correct date and time for your computer."
-    IDS_PROCESSTITLE "Registering Components"
-    IDS_PROCESSSUBTITLE "Please wait..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -208,7 +211,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS Setup"
     IDS_UNKNOWN_ERROR "Unknown error"
-    IDS_REGISTERING_COMPONENTS "Registering components..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary failed: "
     IDS_GETPROCADDR_FAILED "GetProcAddr failed: "
     IDS_REGSVR_FAILED "DllRegisterServer failed: "
diff --git a/dll/win32/syssetup/lang/fr-FR.rc b/dll/win32/syssetup/lang/fr-FR.rc
index 425c358a939..b83a731c7ea 100644
--- a/dll/win32/syssetup/lang/fr-FR.rc
+++ b/dll/win32/syssetup/lang/fr-FR.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Installation de ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Enregistrement des composants", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Date et Heure"
     IDS_DATETIMESUBTITLE "Configurez la date et l'heure correcte pour votre 
ordinateur."
-    IDS_PROCESSTITLE "Enregistrement des composants"
-    IDS_PROCESSSUBTITLE "Veuillez patienter..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Apparence"
     IDS_THEMESELECTIONSUBTITLE "Sélectionnez le thème que vous préférez"
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Installation de ReactOS"
     IDS_UNKNOWN_ERROR "Erreur inconnue"
-    IDS_REGISTERING_COMPONENTS "Enregistrement des composants..."
     IDS_LOADLIBRARY_FAILED "Échec de LoadLibrary : "
     IDS_GETPROCADDR_FAILED "Échec de GetProcAddr : "
     IDS_REGSVR_FAILED "Échec de DllRegisterServer : "
diff --git a/dll/win32/syssetup/lang/he-IL.rc b/dll/win32/syssetup/lang/he-IL.rc
index 80ba2d65384..8f2458349bb 100644
--- a/dll/win32/syssetup/lang/he-IL.rc
+++ b/dll/win32/syssetup/lang/he-IL.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "התקנת ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "רושם רכיבים", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "תאריך ושעה"
     IDS_DATETIMESUBTITLE "Set the correct date and time for your computer."
-    IDS_PROCESSTITLE "רושם מרכיבים"
-    IDS_PROCESSSUBTITLE "נא להמתין..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS התקנת"
     IDS_UNKNOWN_ERROR "שגיאה לא ידועה"
-    IDS_REGISTERING_COMPONENTS "רושם רכיבים..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary נכשל: "
     IDS_GETPROCADDR_FAILED "GetProcAddr נכשל: "
     IDS_REGSVR_FAILED "DllRegisterServer נכשל: "
diff --git a/dll/win32/syssetup/lang/hi-IN.rc b/dll/win32/syssetup/lang/hi-IN.rc
index 1625a5de437..0c0a763ac14 100644
--- a/dll/win32/syssetup/lang/hi-IN.rc
+++ b/dll/win32/syssetup/lang/hi-IN.rc
@@ -118,9 +118,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "रिऐक्ट ओएस सेटअप"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "कॉम्पोनेन्ट का दर्ज होना", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -186,8 +189,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "दिनांक और समय"
     IDS_DATETIMESUBTITLE "अपने कंप्यूटर के लिए सही तारीख और समय निर्धारित 
करें।"
-    IDS_PROCESSTITLE "कम्पोनन्ट का दर्ज"
-    IDS_PROCESSSUBTITLE "कृपया प्रतीक्षा करें..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "दिखावट"
     IDS_THEMESELECTIONSUBTITLE "अपनी पसंद का थीम चुनें।"
 
@@ -197,7 +200,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "रिऐक्ट ओएस सेटअप"
     IDS_UNKNOWN_ERROR "अज्ञात त्रुटि"
-    IDS_REGISTERING_COMPONENTS "कॉम्पोनेन्ट का दर्ज होना..."
     IDS_LOADLIBRARY_FAILED "लोडलाइब्रेरी विफल रहा: "
     IDS_GETPROCADDR_FAILED "गैटप्रौकऐड्र विफल रहा: "
     IDS_REGSVR_FAILED "डीललरजिस्टरसर्वर विफल रहा: "
diff --git a/dll/win32/syssetup/lang/hu-HU.rc b/dll/win32/syssetup/lang/hu-HU.rc
index 726fa58848d..6bac34c96ea 100644
--- a/dll/win32/syssetup/lang/hu-HU.rc
+++ b/dll/win32/syssetup/lang/hu-HU.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS telepítő"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Komponensek regisztrálása", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Dátum és idő"
     IDS_DATETIMESUBTITLE "Beállíthatja a számítógép dátumát és óráját."
-    IDS_PROCESSTITLE "Összetevők regisztrálása"
-    IDS_PROCESSSUBTITLE "Kérem várjon..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Megjelenés"
     IDS_THEMESELECTIONSUBTITLE "Válassza ki a kívánt témát."
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS telepítő"
     IDS_UNKNOWN_ERROR "Hiba lépett fel, de nem tudni annak okát."
-    IDS_REGISTERING_COMPONENTS "Komponensek regisztrálása..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary hiba: "
     IDS_GETPROCADDR_FAILED "GetProcAddr hiba: "
     IDS_REGSVR_FAILED "DllRegisterServer hiba: "
diff --git a/dll/win32/syssetup/lang/id-ID.rc b/dll/win32/syssetup/lang/id-ID.rc
index 282b7f13165..9938cb5869c 100644
--- a/dll/win32/syssetup/lang/id-ID.rc
+++ b/dll/win32/syssetup/lang/id-ID.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Penyetelan ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Meregister komponen", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Tanggal dan Jam"
     IDS_DATETIMESUBTITLE "Setel tanggal dan jam yang benar untuk komputer 
anda."
-    IDS_PROCESSTITLE "Judul halaman proses"
-    IDS_PROCESSSUBTITLE "Subjudul halaman proses"
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Tampilan"
     IDS_THEMESELECTIONSUBTITLE "Pilih tampilan yang anda suka."
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Penyetelan ReactOS"
     IDS_UNKNOWN_ERROR "Kesalahan tidak dikenal"
-    IDS_REGISTERING_COMPONENTS "Meregister komponen..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary gagal: "
     IDS_GETPROCADDR_FAILED "GetProcAddr gagal: "
     IDS_REGSVR_FAILED "DllRegisterServer gagal: "
diff --git a/dll/win32/syssetup/lang/it-IT.rc b/dll/win32/syssetup/lang/it-IT.rc
index 9a25d6f517a..3eb5fe627bb 100644
--- a/dll/win32/syssetup/lang/it-IT.rc
+++ b/dll/win32/syssetup/lang/it-IT.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Installazione di ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 20, 7, 253, 20
-    LTEXT "", IDC_ITEM, 20, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 70, 253, 8
+    LTEXT "Registrazione dei componenti", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Data e ora"
     IDS_DATETIMESUBTITLE "Impostare la data e l'ora corrette per il proprio 
computer."
-    IDS_PROCESSTITLE "Registrazione dei componenti"
-    IDS_PROCESSSUBTITLE "Attendere prego..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Aspetto"
     IDS_THEMESELECTIONSUBTITLE "Seleziona il tema che preferisci."
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
 IDS_REACTOS_SETUP "Installazione di ReactOS"
     IDS_UNKNOWN_ERROR "Errore sconosciuto"
-    IDS_REGISTERING_COMPONENTS "Registrazione dei componenti..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary fallito: "
     IDS_GETPROCADDR_FAILED "GetProcAddr fallito: "
     IDS_REGSVR_FAILED "DllRegisterServer fallito: "
diff --git a/dll/win32/syssetup/lang/ja-JP.rc b/dll/win32/syssetup/lang/ja-JP.rc
index 82b32a85143..f0515778dd5 100644
--- a/dll/win32/syssetup/lang/ja-JP.rc
+++ b/dll/win32/syssetup/lang/ja-JP.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS セットアップ"
 FONT 9, "MS UI Gothic"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "コンポーネントを登録しています", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "日付と時刻"
     IDS_DATETIMESUBTITLE "コンピュータの日付と時刻を正しく設定して下さい。"
-    IDS_PROCESSTITLE "コンポーネントの登録中"
-    IDS_PROCESSSUBTITLE "お待ち下さい..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "外観"
     IDS_THEMESELECTIONSUBTITLE "好きなテーマをお選び下さい"
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS セットアップ"
     IDS_UNKNOWN_ERROR "不明なエラー"
-    IDS_REGISTERING_COMPONENTS "コンポーネントを登録しています..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary に失敗: "
     IDS_GETPROCADDR_FAILED "GetProcAddr に失敗: "
     IDS_REGSVR_FAILED "DllRegisterServer に失敗: "
diff --git a/dll/win32/syssetup/lang/lt-LT.rc b/dll/win32/syssetup/lang/lt-LT.rc
index 576131703c2..c9192289537 100644
--- a/dll/win32/syssetup/lang/lt-LT.rc
+++ b/dll/win32/syssetup/lang/lt-LT.rc
@@ -130,9 +130,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registering components", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -198,8 +201,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Date and Time"
     IDS_DATETIMESUBTITLE "Set the correct date and time for your computer."
-    IDS_PROCESSTITLE "Registering Components"
-    IDS_PROCESSSUBTITLE "Please wait..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -208,7 +211,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS Setup"
     IDS_UNKNOWN_ERROR "Unknown error"
-    IDS_REGISTERING_COMPONENTS "Registering components..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary failed: "
     IDS_GETPROCADDR_FAILED "GetProcAddr failed: "
     IDS_REGSVR_FAILED "DllRegisterServer failed: "
diff --git a/dll/win32/syssetup/lang/nl-NL.rc b/dll/win32/syssetup/lang/nl-NL.rc
index 7d594f52b43..1cdc63dfe60 100644
--- a/dll/win32/syssetup/lang/nl-NL.rc
+++ b/dll/win32/syssetup/lang/nl-NL.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registering components", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Date and Time"
     IDS_DATETIMESUBTITLE "Set the correct date and time for your computer."
-    IDS_PROCESSTITLE "Registering Components"
-    IDS_PROCESSSUBTITLE "Please wait..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS Setup"
     IDS_UNKNOWN_ERROR "Unknown error"
-    IDS_REGISTERING_COMPONENTS "Registering components..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary failed: "
     IDS_GETPROCADDR_FAILED "GetProcAddr failed: "
     IDS_REGSVR_FAILED "DllRegisterServer failed: "
diff --git a/dll/win32/syssetup/lang/no-NO.rc b/dll/win32/syssetup/lang/no-NO.rc
index b8e4e2f1f09..367c562bcfa 100644
--- a/dll/win32/syssetup/lang/no-NO.rc
+++ b/dll/win32/syssetup/lang/no-NO.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS installasjon"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registrerer komponenter", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Dato og tid"
     IDS_DATETIMESUBTITLE "Still inn dato og tid for din datamaskin."
-    IDS_PROCESSTITLE "Bearbeid side tittel"
-    IDS_PROCESSSUBTITLE "Bearbeider side undertittel"
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS installasjon"
     IDS_UNKNOWN_ERROR "Ukjent feil"
-    IDS_REGISTERING_COMPONENTS "Registrerer komponenter..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary feilet: "
     IDS_GETPROCADDR_FAILED "GetProcAddr feilet: "
     IDS_REGSVR_FAILED "DllRegisterServer feilet: "
diff --git a/dll/win32/syssetup/lang/pl-PL.rc b/dll/win32/syssetup/lang/pl-PL.rc
index 828acf3e386..3ae108f9b43 100644
--- a/dll/win32/syssetup/lang/pl-PL.rc
+++ b/dll/win32/syssetup/lang/pl-PL.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Instalator systemu ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Rejestracja składników", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Data i godzina"
     IDS_DATETIMESUBTITLE "Ustaw prawidłową datę i godzinę."
-    IDS_PROCESSTITLE "Rejestracja składników"
-    IDS_PROCESSSUBTITLE "Proszę czekać..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Wygląd"
     IDS_THEMESELECTIONSUBTITLE "Wybierz motyw, który preferujesz."
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Instalator systemu ReactOS"
     IDS_UNKNOWN_ERROR "Nieznany błąd"
-    IDS_REGISTERING_COMPONENTS "Rejestracja składników..."
     IDS_LOADLIBRARY_FAILED "Funkcja LoadLibrary napotkała problem: "
     IDS_GETPROCADDR_FAILED "Funkcja GetProcAddr napotkała problem: "
     IDS_REGSVR_FAILED "Funkcja DllRegisterServer napotkała problem: "
diff --git a/dll/win32/syssetup/lang/pt-BR.rc b/dll/win32/syssetup/lang/pt-BR.rc
index a2c5c176717..6956e47f65c 100644
--- a/dll/win32/syssetup/lang/pt-BR.rc
+++ b/dll/win32/syssetup/lang/pt-BR.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Instalação do ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registrando componentes", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Data e Hora"
     IDS_DATETIMESUBTITLE "Definir a data e a hora corretas para o seu 
computador."
-    IDS_PROCESSTITLE "Registrando componentes"
-    IDS_PROCESSSUBTITLE "Por favor aguarde..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Instalação do ReactOS"
     IDS_UNKNOWN_ERROR "Erro Desconhecido"
-    IDS_REGISTERING_COMPONENTS "Registrando componentes..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary falhou: "
     IDS_GETPROCADDR_FAILED "GetProcAddr falhou: "
     IDS_REGSVR_FAILED "DllRegisterServer falhou: "
diff --git a/dll/win32/syssetup/lang/pt-PT.rc b/dll/win32/syssetup/lang/pt-PT.rc
index 9776a609035..bc93c59c3a0 100644
--- a/dll/win32/syssetup/lang/pt-PT.rc
+++ b/dll/win32/syssetup/lang/pt-PT.rc
@@ -111,9 +111,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Instalação do ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "A registar componentes", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -179,8 +182,8 @@ BEGIN
     IDS_LAYOUTTEXT "O método e idioma de entrada de texto padrão é: Estilo de 
teclado %s"
     IDS_DATETIMETITLE "Data e Hora"
     IDS_DATETIMESUBTITLE "Definir a data e a hora correctas para o seu 
computador."
-    IDS_PROCESSTITLE "A registar componentes"
-    IDS_PROCESSSUBTITLE "Por favor aguarde..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Aparência"
     IDS_THEMESELECTIONSUBTITLE "Seleccione o tema perferido."
 END
@@ -189,7 +192,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Instalação do ReactOS"
     IDS_UNKNOWN_ERROR "Erro Desconhecido"
-    IDS_REGISTERING_COMPONENTS "A registar componentes..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary falhou: "
     IDS_GETPROCADDR_FAILED "GetProcAddr falhou: "
     IDS_REGSVR_FAILED "DllRegisterServer falhou: "
diff --git a/dll/win32/syssetup/lang/ro-RO.rc b/dll/win32/syssetup/lang/ro-RO.rc
index a41910ee409..851348e6fc4 100644
--- a/dll/win32/syssetup/lang/ro-RO.rc
+++ b/dll/win32/syssetup/lang/ro-RO.rc
@@ -119,9 +119,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Asistent de instalare ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Componente în curs de înregistrare", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -187,8 +190,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Dată și oră"
     IDS_DATETIMESUBTITLE "Stabilire dată și oră corectă pentru calculator"
-    IDS_PROCESSTITLE "Înregistrare componente"
-    IDS_PROCESSSUBTITLE "Așteptați…"
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Aspect"
     IDS_THEMESELECTIONSUBTITLE "Selectați tema preferată"
 END
@@ -197,7 +200,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Asistent de instalare ReactOS"
     IDS_UNKNOWN_ERROR "Eroare necunoscută"
-    IDS_REGISTERING_COMPONENTS "Componente în curs de înregistrare…"
     IDS_LOADLIBRARY_FAILED "LoadLibrary a eșuat: "
     IDS_GETPROCADDR_FAILED "GetProcAddr a eșuat: "
     IDS_REGSVR_FAILED "DllRegisterServer a eșuat: "
diff --git a/dll/win32/syssetup/lang/ru-RU.rc b/dll/win32/syssetup/lang/ru-RU.rc
index c88d2a1b21f..39d0cf5ad72 100644
--- a/dll/win32/syssetup/lang/ru-RU.rc
+++ b/dll/win32/syssetup/lang/ru-RU.rc
@@ -119,9 +119,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Установка ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Регистрация компонентов", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -187,8 +190,8 @@ BEGIN
     IDS_LAYOUTTEXT "Ваш язык и метод ввода текста по умолчанию: %s раскладка 
клавиатуры"
     IDS_DATETIMETITLE "Дата и время"
     IDS_DATETIMESUBTITLE "Установите правильную дату и время на вашем 
компьютере."
-    IDS_PROCESSTITLE "Процесс установки"
-    IDS_PROCESSSUBTITLE "Установка ReactOS на ваш компьютер."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Внешний вид"
     IDS_THEMESELECTIONSUBTITLE "Выберите тему, которую вы предпочитаете"
 END
@@ -197,7 +200,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Установка ReactOS"
     IDS_UNKNOWN_ERROR "Неизвестная ошибка"
-    IDS_REGISTERING_COMPONENTS "Регистрация компонентов..."
     IDS_LOADLIBRARY_FAILED "Ошибка LoadLibrary: "
     IDS_GETPROCADDR_FAILED "Ошибка GetProcAddr: "
     IDS_REGSVR_FAILED "Ошибка DllRegisterServer: "
diff --git a/dll/win32/syssetup/lang/sk-SK.rc b/dll/win32/syssetup/lang/sk-SK.rc
index 75dbe067973..02ba3b7f9cc 100644
--- a/dll/win32/syssetup/lang/sk-SK.rc
+++ b/dll/win32/syssetup/lang/sk-SK.rc
@@ -118,9 +118,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Inštalátor systému ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registrujem súčasti", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -186,8 +189,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Dátum a čas"
     IDS_DATETIMESUBTITLE "Nastavte správny čas pre Váš počítač."
-    IDS_PROCESSTITLE "Registrácia súčastí"
-    IDS_PROCESSSUBTITLE "Počkajte, prosím ..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -196,7 +199,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Inštalátor systému ReactOS"
     IDS_UNKNOWN_ERROR "Neznáma chyba"
-    IDS_REGISTERING_COMPONENTS "Registrujem súčasti..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary zlyhal: "
     IDS_GETPROCADDR_FAILED "GetProcAddr zlyhal: "
     IDS_REGSVR_FAILED "DllRegisterServer zlyhal: "
diff --git a/dll/win32/syssetup/lang/sq-AL.rc b/dll/win32/syssetup/lang/sq-AL.rc
index b2f52560bdf..736b5e27ce1 100644
--- a/dll/win32/syssetup/lang/sq-AL.rc
+++ b/dll/win32/syssetup/lang/sq-AL.rc
@@ -130,9 +130,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Ndërto ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Regjistrimi Komponenteve", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -198,8 +201,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Data dhe Ora"
     IDS_DATETIMESUBTITLE "Vendos datën e saktë dhe orën për kompjuterin tuaj."
-    IDS_PROCESSTITLE "Regjistrimi Komponenteve"
-    IDS_PROCESSSUBTITLE "Ju Lutem prisni..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -208,7 +211,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Ndërtuesi ReactOS"
     IDS_UNKNOWN_ERROR "gabim i panjohur"
-    IDS_REGISTERING_COMPONENTS "Regjistrimi Komponenteve..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary dështoj: "
     IDS_GETPROCADDR_FAILED "GetProcAddr dështoj: "
     IDS_REGSVR_FAILED "DllRegisterServer dështoj: "
diff --git a/dll/win32/syssetup/lang/sv-SE.rc b/dll/win32/syssetup/lang/sv-SE.rc
index 8ca9de01d65..8ec45d3a4c9 100644
--- a/dll/win32/syssetup/lang/sv-SE.rc
+++ b/dll/win32/syssetup/lang/sv-SE.rc
@@ -130,9 +130,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registering components", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -198,8 +201,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Date and Time"
     IDS_DATETIMESUBTITLE "Set the correct date and time for your computer."
-    IDS_PROCESSTITLE "Registering Components"
-    IDS_PROCESSSUBTITLE "Vänligen vänta..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -208,7 +211,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS Setup"
     IDS_UNKNOWN_ERROR "Okänt fel"
-    IDS_REGISTERING_COMPONENTS "Registering components..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary failed: "
     IDS_GETPROCADDR_FAILED "GetProcAddr failed: "
     IDS_REGSVR_FAILED "DllRegisterServer failed: "
diff --git a/dll/win32/syssetup/lang/th-TH.rc b/dll/win32/syssetup/lang/th-TH.rc
index 49f004e3f98..38aafa9bf3c 100644
--- a/dll/win32/syssetup/lang/th-TH.rc
+++ b/dll/win32/syssetup/lang/th-TH.rc
@@ -130,9 +130,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS Setup"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Registering components", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -198,8 +201,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Date and Time"
     IDS_DATETIMESUBTITLE "Set the correct date and time for your computer."
-    IDS_PROCESSTITLE "Registering Components"
-    IDS_PROCESSSUBTITLE "Please wait..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Appearance"
     IDS_THEMESELECTIONSUBTITLE "Select the theme you prefer."
 END
@@ -208,7 +211,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS Setup"
     IDS_UNKNOWN_ERROR "Unknown error"
-    IDS_REGISTERING_COMPONENTS "Registering components..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary failed: "
     IDS_GETPROCADDR_FAILED "GetProcAddr failed: "
     IDS_REGSVR_FAILED "DllRegisterServer failed: "
diff --git a/dll/win32/syssetup/lang/tr-TR.rc b/dll/win32/syssetup/lang/tr-TR.rc
index ce03d962c38..f3bf3f07a28 100644
--- a/dll/win32/syssetup/lang/tr-TR.rc
+++ b/dll/win32/syssetup/lang/tr-TR.rc
@@ -120,9 +120,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS Kur"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Bileşenler kaydediliyor", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -188,8 +191,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Tarih ve Saat"
     IDS_DATETIMESUBTITLE "Bilgisayarınız için doğru zamanı ayarlayınız."
-    IDS_PROCESSTITLE "Bileşenler Kaydediliyor"
-    IDS_PROCESSSUBTITLE "Lütfen bekleyiniz..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Görünüm"
     IDS_THEMESELECTIONSUBTITLE "İstediğiniz temayı seçiniz."
 END
@@ -198,7 +201,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS Kur"
     IDS_UNKNOWN_ERROR "Bilinmeyen hata"
-    IDS_REGISTERING_COMPONENTS "Bileşenler kaydediliyor..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary başarısız oldu: "
     IDS_GETPROCADDR_FAILED "GetProcAddr başarısız oldu: "
     IDS_REGSVR_FAILED "DllRegisterServer başarısız oldu: "
diff --git a/dll/win32/syssetup/lang/uk-UA.rc b/dll/win32/syssetup/lang/uk-UA.rc
index 1f7009ad7cb..1f64595a993 100644
--- a/dll/win32/syssetup/lang/uk-UA.rc
+++ b/dll/win32/syssetup/lang/uk-UA.rc
@@ -120,9 +120,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "Встановлення ReactOS"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "Реєстрація компонентів", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -188,8 +191,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "Дата та час"
     IDS_DATETIMESUBTITLE "Встановіть правильні дату і час для Вашого 
комп'ютера."
-    IDS_PROCESSTITLE "Реєстрація компонентів"
-    IDS_PROCESSSUBTITLE "Зачекайте, будь ласка..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "Зовнішній вигляд"
     IDS_THEMESELECTIONSUBTITLE "Виберіть тему, яку ви вважаєте за краще"
 END
@@ -198,7 +201,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "Встановлення ReactOS"
     IDS_UNKNOWN_ERROR "Невідома помилка"
-    IDS_REGISTERING_COMPONENTS "Реєстрація компонентів..."
     IDS_LOADLIBRARY_FAILED "Помилка LoadLibrary: "
     IDS_GETPROCADDR_FAILED "Помилка GetProcAddr: "
     IDS_REGSVR_FAILED "Помилка DllRegisterServer: "
diff --git a/dll/win32/syssetup/lang/zh-CN.rc b/dll/win32/syssetup/lang/zh-CN.rc
index 74ed4e693ed..b7eb5483e8d 100644
--- a/dll/win32/syssetup/lang/zh-CN.rc
+++ b/dll/win32/syssetup/lang/zh-CN.rc
@@ -118,9 +118,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS 安装程序"
 FONT 9, "宋体"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "请稍候,安装程序正在注册组件。", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -186,8 +189,8 @@ BEGIN
     IDS_LAYOUTTEXT "您的默认文本输入语言和方法是:%s 键盘布局"
     IDS_DATETIMETITLE "日期和时间"
     IDS_DATETIMESUBTITLE "为您的计算机配置正确的日期和时间。"
-    IDS_PROCESSTITLE "注册组件"
-    IDS_PROCESSSUBTITLE "正在完成 ReactOS 最后的安装阶段"
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "外观"
     IDS_THEMESELECTIONSUBTITLE "选择您的主题:"
 END
@@ -196,7 +199,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS 安装程序"
     IDS_UNKNOWN_ERROR "未知错误"
-    IDS_REGISTERING_COMPONENTS "请稍候,安装程序正在注册组件。"
     IDS_LOADLIBRARY_FAILED "LoadLibrary 失败: "
     IDS_GETPROCADDR_FAILED "GetProcAddr 失败: "
     IDS_REGSVR_FAILED "DllRegisterServer 失败: "
diff --git a/dll/win32/syssetup/lang/zh-HK.rc b/dll/win32/syssetup/lang/zh-HK.rc
index 0d331b225f1..ff814fe5d13 100644
--- a/dll/win32/syssetup/lang/zh-HK.rc
+++ b/dll/win32/syssetup/lang/zh-HK.rc
@@ -118,9 +118,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS 安裝程式"
 FONT 9, "新細明體"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "正在登錄元件", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -182,12 +185,12 @@ BEGIN
     IDS_COMPUTERSUBTITLE "您必須提供電腦名稱和管理員密碼。"
     IDS_LOCALETITLE "地區設定"
     IDS_LOCALESUBTITLE "您可以為不同的地區和語言自訂 ReactOS。"
-       IDS_LOCALETEXT "目前的標準和格式設定是 %s,而目前的地區設定是 %s。"
+    IDS_LOCALETEXT "目前的標準和格式設定是 %s,而目前的地區設定是 %s。"
     IDS_LAYOUTTEXT "您的預設文字輸入語言和方法是:%s 鍵盤配置。"
     IDS_DATETIMETITLE "日期和時間"
     IDS_DATETIMESUBTITLE "為您的電腦設定正確的日期及時間。"
-    IDS_PROCESSTITLE "正在登錄元件"
-    IDS_PROCESSSUBTITLE "請稍候..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "外觀"
     IDS_THEMESELECTIONSUBTITLE "選擇您的主題。"
 
@@ -197,7 +200,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS 安裝程式"
     IDS_UNKNOWN_ERROR "不明的錯誤"
-    IDS_REGISTERING_COMPONENTS "正在登錄元件..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary 失敗: "
     IDS_GETPROCADDR_FAILED "GetProcAddr 失敗: "
     IDS_REGSVR_FAILED "DllRegisterServer 失敗: "
diff --git a/dll/win32/syssetup/lang/zh-TW.rc b/dll/win32/syssetup/lang/zh-TW.rc
index 707a831294c..d749ea8ea63 100644
--- a/dll/win32/syssetup/lang/zh-TW.rc
+++ b/dll/win32/syssetup/lang/zh-TW.rc
@@ -120,9 +120,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE 
| WS_CAPTION | WS_SYS
 CAPTION "ReactOS 安裝程式"
 FONT 9, "新細明體"
 BEGIN
-    LTEXT "", IDC_ACTIVITY, 53, 7, 253, 20
-    LTEXT "", IDC_ITEM, 53, 29, 253, 20
-    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
+    LTEXT "正在登錄元件", IDC_TASKTEXT1, 65, 27, 232, 8
+    LTEXT "Installing start menu items", IDC_TASKTEXT2, 65, 39, 232, 8
+    LTEXT "Saving settings", IDC_TASKTEXT3, 65, 51, 232, 8
+    LTEXT "Removing temporary files", IDC_TASKTEXT4, 65, 63, 232, 8
+    LTEXT "", IDC_ITEM, 21, 85, 275, 8
+    CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | 
WS_CHILD | WS_VISIBLE | WS_BORDER, 21, 97, 275, 11
 END
 
 IDD_FINISHPAGE DIALOGEX 0, 0, 317, 193
@@ -188,8 +191,8 @@ BEGIN
     IDS_LAYOUTTEXT "Your default text input language and method is: %s 
keyboard layout"
     IDS_DATETIMETITLE "日期和時間"
     IDS_DATETIMESUBTITLE "為您的電腦配置正確的日期和時間。"
-    IDS_PROCESSTITLE "正在登錄元件"
-    IDS_PROCESSSUBTITLE "請稍候..."
+    IDS_PROCESSTITLE "Finishing the Installation"
+    IDS_PROCESSSUBTITLE "Please wait while Setup completes the final steps."
     IDS_THEMESELECTIONTITLE "外觀"
     IDS_THEMESELECTIONSUBTITLE "選擇您的主題。"
 
@@ -199,7 +202,6 @@ STRINGTABLE
 BEGIN
     IDS_REACTOS_SETUP "ReactOS 安裝程式"
     IDS_UNKNOWN_ERROR "未知的錯誤"
-    IDS_REGISTERING_COMPONENTS "正在登錄元件..."
     IDS_LOADLIBRARY_FAILED "LoadLibrary 失敗︰"
     IDS_GETPROCADDR_FAILED "GetProcAddr 失敗︰"
     IDS_REGSVR_FAILED "DllRegisterServer 失敗︰"
diff --git a/dll/win32/syssetup/resource.h b/dll/win32/syssetup/resource.h
index 173f3f05ad5..80335a544fe 100644
--- a/dll/win32/syssetup/resource.h
+++ b/dll/win32/syssetup/resource.h
@@ -35,45 +35,52 @@
 
 #define IDC_STATIC -1
 
-#define IDD_WELCOMEPAGE  1000
-#define IDC_WELCOMETITLE 1001
+#define IDD_WELCOMEPAGE       1000
+#define IDC_WELCOMETITLE      1001
 
-#define IDD_ACKPAGE  1010
-#define IDC_PROJECTS 1011
-#define IDC_VIEWGPL  1012
+#define IDD_ACKPAGE           1010
+#define IDC_PROJECTS          1011
+#define IDC_VIEWGPL           1012
 
 #define IDD_OWNERPAGE         1020
 #define IDC_OWNERNAME         1021
 #define IDC_OWNERORGANIZATION 1022
 
-#define IDD_COMPUTERPAGE   1030
-#define IDC_COMPUTERNAME   1031
-#define IDC_ADMINPASSWORD1 1032
-#define IDC_ADMINPASSWORD2 1033
-
-#define IDD_LOCALEPAGE   1040
-#define IDC_LOCALETEXT   1041
-#define IDC_CUSTOMLOCALE 1042
-#define IDC_LAYOUTTEXT   1043
-#define IDC_CUSTOMLAYOUT 1044
-
-#define IDD_DATETIMEPAGE 1050
-#define IDC_DATEPICKER   1051
-#define IDC_TIMEPICKER   1052
-#define IDC_TIMEZONELIST 1053
-#define IDC_AUTODAYLIGHT 1054
-
-#define IDD_PROCESSPAGE     1060
-#define IDC_ACTIVITY        1061
-#define IDC_ITEM            1062
-#define IDC_PROCESSPROGRESS 1063
-
-#define IDD_FINISHPAGE       1070
-#define IDC_FINISHTITLE      1071
-#define IDC_RESTART_PROGRESS 1072
-
-#define IDD_THEMEPAGE        1080
-#define IDC_THEMEPICKER      1081
+#define IDD_COMPUTERPAGE      1030
+#define IDC_COMPUTERNAME      1031
+#define IDC_ADMINPASSWORD1    1032
+#define IDC_ADMINPASSWORD2    1033
+
+#define IDD_LOCALEPAGE        1040
+#define IDC_LOCALETEXT        1041
+#define IDC_CUSTOMLOCALE      1042
+#define IDC_LAYOUTTEXT        1043
+#define IDC_CUSTOMLAYOUT      1044
+
+#define IDD_DATETIMEPAGE      1050
+#define IDC_DATEPICKER        1051
+#define IDC_TIMEPICKER        1052
+#define IDC_TIMEZONELIST      1053
+#define IDC_AUTODAYLIGHT      1054
+
+#define IDD_PROCESSPAGE       1060
+#define IDC_ITEM              1061
+#define IDC_PROCESSPROGRESS   1062
+#define IDC_TASKTEXT1         1063
+#define IDC_TASKTEXT2         1064
+#define IDC_TASKTEXT3         1065
+#define IDC_TASKTEXT4         1066
+#define IDC_TASKBITMAP1       1067
+#define IDC_TASKBITMAP2       1068
+#define IDC_TASKBITMAP3       1069
+#define IDC_TASKBITMAP4       1070
+
+#define IDD_FINISHPAGE        1080
+#define IDC_FINISHTITLE       1081
+#define IDC_RESTART_PROGRESS  1082
+
+#define IDD_THEMEPAGE         1090
+#define IDC_THEMEPICKER       1091
 
 #define IDD_GPL      2100
 #define IDC_GPL_TEXT 2101
@@ -124,15 +131,14 @@
 
 #define IDS_REACTOS_SETUP          3300
 #define IDS_UNKNOWN_ERROR          3301
-#define IDS_REGISTERING_COMPONENTS 3302
-#define IDS_LOADLIBRARY_FAILED     3303
-#define IDS_GETPROCADDR_FAILED     3304
-#define IDS_REGSVR_FAILED          3305
-#define IDS_DLLINSTALL_FAILED      3306
-#define IDS_TIMEOUT                3307
-#define IDS_REASON_UNKNOWN         3308
-#define IDS_ADMINISTRATOR_NAME     3309
-#define IDS_MACHINE_OWNER_NAME     3310
+#define IDS_LOADLIBRARY_FAILED     3302
+#define IDS_GETPROCADDR_FAILED     3303
+#define IDS_REGSVR_FAILED          3304
+#define IDS_DLLINSTALL_FAILED      3305
+#define IDS_TIMEOUT                3306
+#define IDS_REASON_UNKNOWN         3307
+#define IDS_ADMINISTRATOR_NAME     3308
+#define IDS_MACHINE_OWNER_NAME     3309
 
 #define IDS_WZD_NAME            3450
 #define IDS_WZD_SETCOMPUTERNAME 3451
diff --git a/dll/win32/syssetup/wizard.c b/dll/win32/syssetup/wizard.c
index 77db90686f2..0dcebc6d12e 100644
--- a/dll/win32/syssetup/wizard.c
+++ b/dll/win32/syssetup/wizard.c
@@ -33,14 +33,27 @@
           = 1 Registration completed
    lParam = Pointer to a REGISTRATIONNOTIFY structure */
 
+#define PM_ITEM_START (WM_APP + 2)
+#define PM_ITEM_END   (WM_APP + 3)
+#define PM_STEP_START (WM_APP + 4)
+#define PM_STEP_END   (WM_APP + 5)
+#define PM_ITEMS_DONE (WM_APP + 6)
+
 typedef struct _REGISTRATIONNOTIFY
 {
     ULONG Progress;
     UINT ActivityID;
     LPCWSTR CurrentItem;
     LPCWSTR ErrorMessage;
+    UINT MessageID;
+    DWORD LastError;
 } REGISTRATIONNOTIFY, *PREGISTRATIONNOTIFY;
 
+typedef struct _ITEMSDATA
+{
+    HWND hwndDlg;
+} ITEMSDATA, *PITEMSDATA;
+
 typedef struct _REGISTRATIONDATA
 {
     HWND hwndDlg;
@@ -2008,16 +2021,15 @@ RegistrationNotificationProc(PVOID Context,
     REGISTRATIONNOTIFY RegistrationNotify;
     PSP_REGISTER_CONTROL_STATUSW StatusInfo;
     UINT MessageID;
-    WCHAR ErrorMessage[128];
 
-    RegistrationData = (PREGISTRATIONDATA) Context;
+    RegistrationData = (PREGISTRATIONDATA)Context;
 
-    if (SPFILENOTIFY_STARTREGISTRATION == Notification ||
-            SPFILENOTIFY_ENDREGISTRATION == Notification)
+    if (Notification == SPFILENOTIFY_STARTREGISTRATION ||
+        Notification == SPFILENOTIFY_ENDREGISTRATION)
     {
         StatusInfo = (PSP_REGISTER_CONTROL_STATUSW) Param1;
         RegistrationNotify.CurrentItem = wcsrchr(StatusInfo->FileName, L'\\');
-        if (NULL == RegistrationNotify.CurrentItem)
+        if (RegistrationNotify.CurrentItem == NULL)
         {
             RegistrationNotify.CurrentItem = StatusInfo->FileName;
         }
@@ -2026,12 +2038,13 @@ RegistrationNotificationProc(PVOID Context,
             RegistrationNotify.CurrentItem++;
         }
 
-        if (SPFILENOTIFY_STARTREGISTRATION == Notification)
+        if (Notification == SPFILENOTIFY_STARTREGISTRATION)
         {
             DPRINT("Received SPFILENOTIFY_STARTREGISTRATION notification for 
%S\n",
                    StatusInfo->FileName);
             RegistrationNotify.ErrorMessage = NULL;
             RegistrationNotify.Progress = RegistrationData->Registered;
+            SendMessage(RegistrationData->hwndDlg, PM_STEP_START, 0, 
(LPARAM)&RegistrationNotify);
         }
         else
         {
@@ -2039,9 +2052,9 @@ RegistrationNotificationProc(PVOID Context,
                    StatusInfo->FileName);
             DPRINT("Win32Error %u FailureCode %u\n", StatusInfo->Win32Error,
                    StatusInfo->FailureCode);
-            if (SPREG_SUCCESS != StatusInfo->FailureCode)
+            if (StatusInfo->FailureCode != SPREG_SUCCESS)
             {
-                switch(StatusInfo->FailureCode)
+                switch (StatusInfo->FailureCode)
                 {
                     case SPREG_LOADLIBRARY:
                         MessageID = IDS_LOADLIBRARY_FAILED;
@@ -2062,36 +2075,24 @@ RegistrationNotificationProc(PVOID Context,
                         MessageID = IDS_REASON_UNKNOWN;
                         break;
                 }
-                if (0 == LoadStringW(hDllInstance, MessageID,
-                                     ErrorMessage,
-                                     ARRAYSIZE(ErrorMessage)))
-                {
-                    ErrorMessage[0] = L'\0';
-                }
-                if (SPREG_TIMEOUT != StatusInfo->FailureCode)
-                {
-                    FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM, NULL,
-                                   StatusInfo->Win32Error, 0,
-                                   ErrorMessage + wcslen(ErrorMessage),
-                                   ARRAYSIZE(ErrorMessage) - 
wcslen(ErrorMessage),
-                                   NULL);
-                }
-                RegistrationNotify.ErrorMessage = ErrorMessage;
+
+                RegistrationNotify.MessageID = MessageID;
+                RegistrationNotify.LastError = StatusInfo->Win32Error;
             }
             else
             {
-                RegistrationNotify.ErrorMessage = NULL;
+                RegistrationNotify.MessageID = 0;
+                RegistrationNotify.LastError = ERROR_SUCCESS;
             }
+
             if (RegistrationData->Registered < RegistrationData->DllCount)
             {
                 RegistrationData->Registered++;
             }
-        }
 
-        RegistrationNotify.Progress = RegistrationData->Registered;
-        RegistrationNotify.ActivityID = IDS_REGISTERING_COMPONENTS;
-        SendMessage(RegistrationData->hwndDlg, PM_REGISTRATION_NOTIFY,
-                    0, (LPARAM) &RegistrationNotify);
+            RegistrationNotify.Progress = RegistrationData->Registered;
+            SendMessage(RegistrationData->hwndDlg, PM_STEP_END, 0, 
(LPARAM)&RegistrationNotify);
+        }
 
         return FILEOP_DOIT;
     }
@@ -2104,33 +2105,62 @@ RegistrationNotificationProc(PVOID Context,
 }
 
 
-static DWORD CALLBACK
-RegistrationProc(LPVOID Parameter)
+static
+DWORD
+RegisterDlls(
+    PITEMSDATA pItemsData)
 {
-    PREGISTRATIONDATA RegistrationData;
-    REGISTRATIONNOTIFY RegistrationNotify;
+    REGISTRATIONDATA RegistrationData;
+    WCHAR SectionName[512];
+    INFCONTEXT Context;
+    LONG DllCount = 0;
     DWORD LastError = NO_ERROR;
-    WCHAR UnknownError[84];
 
-    RegistrationData = (PREGISTRATIONDATA) Parameter;
-    RegistrationData->Registered = 0;
-    RegistrationData->DefaultContext = 
SetupInitDefaultQueueCallback(RegistrationData->hwndDlg);
+    ZeroMemory(&RegistrationData, sizeof(REGISTRATIONDATA));
+    RegistrationData.hwndDlg = pItemsData->hwndDlg;
+    RegistrationData.Registered = 0;
+
+    if (!SetupFindFirstLineW(hSysSetupInf, L"RegistrationPhase2",
+                             L"RegisterDlls", &Context))
+    {
+        DPRINT1("No RegistrationPhase2 section found\n");
+        return FALSE;
+    }
+
+    if (!SetupGetStringFieldW(&Context, 1, SectionName,
+                              ARRAYSIZE(SectionName),
+                              NULL))
+    {
+        DPRINT1("Unable to retrieve section name\n");
+        return FALSE;
+    }
+
+    DllCount = SetupGetLineCountW(hSysSetupInf, SectionName);
+    DPRINT1("SectionName %S DllCount %ld\n", SectionName, DllCount);
+    if (DllCount < 0)
+    {
+        SetLastError(STATUS_NOT_FOUND);
+        return FALSE;
+    }
+
+    RegistrationData.DllCount = (ULONG)DllCount;
+    RegistrationData.DefaultContext = 
SetupInitDefaultQueueCallback(RegistrationData.hwndDlg);
+
+    SendMessage(pItemsData->hwndDlg, PM_ITEM_START, 0, 
(LPARAM)RegistrationData.DllCount);
 
     _SEH2_TRY
     {
-        if (!SetupInstallFromInfSectionW(GetParent(RegistrationData->hwndDlg),
-        hSysSetupInf,
-        L"RegistrationPhase2",
-        SPINST_REGISTRY |
-        SPINST_REGISTERCALLBACKAWARE  |
-        SPINST_REGSVR,
-        0,
-        NULL,
-        0,
-        RegistrationNotificationProc,
-        RegistrationData,
-        NULL,
-        NULL))
+        if (!SetupInstallFromInfSectionW(GetParent(RegistrationData.hwndDlg),
+                                         hSysSetupInf,
+                                         L"RegistrationPhase2",
+                                         SPINST_REGISTRY | 
SPINST_REGISTERCALLBACKAWARE | SPINST_REGSVR,
+                                         0,
+                                         NULL,
+                                         0,
+                                         RegistrationNotificationProc,
+                                         &RegistrationData,
+                                         NULL,
+                                         NULL))
         {
             LastError = GetLastError();
         }
@@ -2142,119 +2172,157 @@ RegistrationProc(LPVOID Parameter)
     }
     _SEH2_END;
 
-    if (NO_ERROR == LastError)
-    {
-        RegistrationNotify.ErrorMessage = NULL;
-    }
-    else
-    {
-        DPRINT1("SetupInstallFromInfSection failed with error %u\n",
-                LastError);
-        if (0 == FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER |
-                                FORMAT_MESSAGE_FROM_SYSTEM, NULL, LastError, 0,
-                                (LPWSTR) &RegistrationNotify.ErrorMessage, 0,
-                                NULL))
-        {
-            if (0 == LoadStringW(hDllInstance, IDS_UNKNOWN_ERROR,
-                                 UnknownError,
-                                 ARRAYSIZE(UnknownError) - 20))
-            {
-                wcscpy(UnknownError, L"Unknown error");
-            }
-            wcscat(UnknownError, L" ");
-            _ultow(LastError, UnknownError + wcslen(UnknownError), 10);
-            RegistrationNotify.ErrorMessage = UnknownError;
-        }
-    }
+    SetupTermDefaultQueueCallback(RegistrationData.DefaultContext);
+
+    SendMessage(pItemsData->hwndDlg, PM_ITEM_END, 0, LastError);
+
+    return 0;
+}
+
+
+static
+DWORD
+CALLBACK
+ItemCompletionThread(
+    LPVOID Parameter)
+{
+    PITEMSDATA pItemsData;
+    HWND hwndDlg;
 
-    RegistrationNotify.Progress = RegistrationData->DllCount;
-    RegistrationNotify.ActivityID = IDS_REGISTERING_COMPONENTS;
-    RegistrationNotify.CurrentItem = NULL;
+    pItemsData = (PITEMSDATA)Parameter;
+    hwndDlg = pItemsData->hwndDlg;
+
+    RegisterDlls(pItemsData);
 
     RegisterTypeLibraries(hSysSetupInf, L"TypeLibraries");
 
+    /* FIXME: Add completion steps here! */
+
     // FIXME: Move this call to a separate cleanup page!
     RtlCreateBootStatusDataFile();
 
-    SendMessage(RegistrationData->hwndDlg, PM_REGISTRATION_NOTIFY,
-                1, (LPARAM) &RegistrationNotify);
-    if (NULL != RegistrationNotify.ErrorMessage &&
-            UnknownError != RegistrationNotify.ErrorMessage)
-    {
-        LocalFree((PVOID) RegistrationNotify.ErrorMessage);
-    }
+    /* Free the items data */
+    HeapFree(GetProcessHeap(), 0, pItemsData);
 
-    SetupTermDefaultQueueCallback(RegistrationData->DefaultContext);
-    HeapFree(GetProcessHeap(), 0, RegistrationData);
+    /* Tell the wizard page that we are done */
+    PostMessage(hwndDlg, PM_ITEMS_DONE, 0, 0);
 
     return 0;
 }
 
 
-static BOOL
-StartComponentRegistration(HWND hwndDlg, PULONG MaxProgress)
+static
+BOOL
+RunItemCompletionThread(
+    _In_ HWND hwndDlg)
 {
-    HANDLE RegistrationThread;
-    LONG DllCount;
-    INFCONTEXT Context;
-    WCHAR SectionName[512];
-    PREGISTRATIONDATA RegistrationData;
+    HANDLE hCompletionThread;
+    PITEMSDATA pItemsData;
 
-    DllCount = -1;
-    if (!SetupFindFirstLineW(hSysSetupInf, L"RegistrationPhase2",
-                             L"RegisterDlls", &Context))
-    {
-        DPRINT1("No RegistrationPhase2 section found\n");
+    pItemsData = HeapAlloc(GetProcessHeap(), 0, sizeof(ITEMSDATA));
+    if (pItemsData == NULL)
         return FALSE;
-    }
-    if (!SetupGetStringFieldW(&Context, 1, SectionName,
-                              ARRAYSIZE(SectionName),
-                              NULL))
+
+    pItemsData->hwndDlg = hwndDlg;
+
+    hCompletionThread = CreateThread(NULL,
+                                     0,
+                                     ItemCompletionThread,
+                                     pItemsData,
+                                     0,
+                                     NULL);
+    if (hCompletionThread == NULL)
     {
-        DPRINT1("Unable to retrieve section name\n");
-        return FALSE;
+        HeapFree(GetProcessHeap(), 0, pItemsData);
     }
-    DllCount = SetupGetLineCountW(hSysSetupInf, SectionName);
-    DPRINT("SectionName %S DllCount %ld\n", SectionName, DllCount);
-    if (DllCount < 0)
+    else
     {
-        SetLastError(STATUS_NOT_FOUND);
-        return FALSE;
+        CloseHandle(hCompletionThread);
+        return TRUE;
     }
 
-    *MaxProgress = (ULONG) DllCount;
+    return FALSE;
+}
 
-    /*
-     * Create a background thread to do the actual registrations, so the
-     * main thread can just run its message loop.
-     */
-    RegistrationThread = NULL;
-    RegistrationData = HeapAlloc(GetProcessHeap(), 0,
-                                 sizeof(REGISTRATIONDATA));
-    if (RegistrationData != NULL)
-    {
-        RegistrationData->hwndDlg = hwndDlg;
-        RegistrationData->DllCount = DllCount;
-        RegistrationThread = CreateThread(NULL, 0, RegistrationProc,
-                                          RegistrationData, 0, NULL);
-        if (RegistrationThread != NULL)
+static
+VOID
+ShowItemError(
+    HWND hwndDlg,
+    DWORD LastError)
+{
+    LPWSTR ErrorMessage = NULL;
+    WCHAR UnknownError[84];
+    WCHAR Title[64];
+
+    if (FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | 
FORMAT_MESSAGE_FROM_SYSTEM,
+                       NULL, LastError, 0, ErrorMessage, 0, NULL) == 0)
+    {
+        if (LoadStringW(hDllInstance, IDS_UNKNOWN_ERROR,
+                        UnknownError,
+                        ARRAYSIZE(UnknownError) - 20) == 0)
         {
-            CloseHandle(RegistrationThread);
+            wcscpy(UnknownError, L"Unknown error");
         }
-        else
+        wcscat(UnknownError, L" ");
+        _ultow(LastError, UnknownError + wcslen(UnknownError), 10);
+        ErrorMessage = UnknownError;
+    }
+
+    if (ErrorMessage != NULL)
+    {
+        if (LoadStringW(hDllInstance, IDS_REACTOS_SETUP,
+                        Title, ARRAYSIZE(Title)) == 0)
         {
-            DPRINT1("CreateThread failed, error %u\n", GetLastError());
-            HeapFree(GetProcessHeap(), 0, RegistrationData);
-            return FALSE;
+            wcscpy(Title, L"ReactOS Setup");
         }
+
+        MessageBoxW(hwndDlg, ErrorMessage, Title, MB_ICONERROR | MB_OK);
     }
-    else
+
+    if (ErrorMessage != NULL &&
+        ErrorMessage != UnknownError)
     {
-        DPRINT1("HeapAlloc() failed, error %u\n", GetLastError());
-        return FALSE;
+        LocalFree(ErrorMessage);
     }
+}
 
-    return TRUE;
+
+static
+VOID
+ShowStepError(
+    HWND hwndDlg,
+    PREGISTRATIONNOTIFY RegistrationNotify)
+{
+    WCHAR ErrorMessage[128];
+    WCHAR Title[64];
+
+    if (LoadStringW(hDllInstance, RegistrationNotify->MessageID,
+                    ErrorMessage,
+                    ARRAYSIZE(ErrorMessage)) == 0)
+    {
+        ErrorMessage[0] = L'\0';
+    }
+
+    if (RegistrationNotify->MessageID != IDS_TIMEOUT)
+    {
+        FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM, NULL,
+                       RegistrationNotify->LastError, 0,
+                       ErrorMessage + wcslen(ErrorMessage),
+                       ARRAYSIZE(ErrorMessage) - wcslen(ErrorMessage),
+                       NULL);
+    }
+
+    if (ErrorMessage[0] != L'\0')
+    {
+        if (LoadStringW(hDllInstance, IDS_REACTOS_SETUP,
+                        Title, ARRAYSIZE(Title)) == 0)
+        {
+            wcscpy(Title, L"ReactOS Setup");
+        }
+
+        MessageBoxW(hwndDlg, ErrorMessage,
+                    Title, MB_ICONERROR | MB_OK);
+    }
 }
 
 
@@ -2266,8 +2334,6 @@ ProcessPageDlgProc(HWND hwndDlg,
 {
     PSETUPDATA SetupData;
     PREGISTRATIONNOTIFY RegistrationNotify;
-    static UINT oldActivityID = -1;
-    WCHAR Title[64];
 
     /* Retrieve pointer to the global setup data */
     SetupData = (PSETUPDATA)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
@@ -2275,30 +2341,21 @@ ProcessPageDlgProc(HWND hwndDlg,
     switch (uMsg)
     {
         case WM_INITDIALOG:
-        {
             /* Save pointer to the global setup data */
             SetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
             SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (DWORD_PTR)SetupData);
-        }
-        break;
+            ShowWindow(GetDlgItem(hwndDlg, IDC_TASKTEXT2), SW_HIDE);
+            ShowWindow(GetDlgItem(hwndDlg, IDC_TASKTEXT3), SW_HIDE);
+            ShowWindow(GetDlgItem(hwndDlg, IDC_TASKTEXT4), SW_HIDE);
+            break;
 
         case WM_NOTIFY:
-        {
-            LPNMHDR lpnm = (LPNMHDR)lParam;
-            ULONG MaxProgress = 0;
-
-            switch (lpnm->code)
+            switch (((LPNMHDR)lParam)->code)
             {
                 case PSN_SETACTIVE:
                     /* Disable the Back and Next buttons */
                     PropSheet_SetWizButtons(GetParent(hwndDlg), 0);
-
-                    StartComponentRegistration(hwndDlg, &MaxProgress);
-
-                    SendDlgItemMessage(hwndDlg, IDC_PROCESSPROGRESS, 
PBM_SETRANGE,
-                                       0, MAKELPARAM(0, MaxProgress));
-                    SendDlgItemMessage(hwndDlg, IDC_PROCESSPROGRESS, 
PBM_SETPOS,
-                                       0, 0);
+                    RunItemCompletionThread(hwndDlg);
                     break;
 
                 case PSN_WIZNEXT:
@@ -2311,50 +2368,49 @@ ProcessPageDlgProc(HWND hwndDlg,
                 default:
                     break;
             }
-        }
-        break;
+            break;
 
-        case PM_REGISTRATION_NOTIFY:
-        {
-            WCHAR Activity[64];
-            RegistrationNotify = (PREGISTRATIONNOTIFY) lParam;
-            // update if necessary only
-            if (oldActivityID != RegistrationNotify->ActivityID)
+        case PM_ITEM_START:
+            DPRINT1("PM_ITEM_START %lu\n", (ULONG)lParam);
+            SendDlgItemMessage(hwndDlg, IDC_PROCESSPROGRESS, PBM_SETRANGE, 0, 
MAKELPARAM(0, (ULONG)lParam));
+            SendDlgItemMessage(hwndDlg, IDC_PROCESSPROGRESS, PBM_SETPOS, 0, 0);
+            SendDlgItemMessage(hwndDlg, IDC_TASKTEXT1 + wParam, WM_SETFONT, 
(WPARAM)SetupData->hBoldFont, (LPARAM)TRUE);
+            break;
+
+        case PM_ITEM_END:
+            DPRINT1("PM_ITEM_END\n");
+            if (lParam == ERROR_SUCCESS)
             {
-                if (0 != LoadStringW(hDllInstance, 
RegistrationNotify->ActivityID,
-                                     Activity,
-                                     ARRAYSIZE(Activity)))
-                {
-                    SendDlgItemMessageW(hwndDlg, IDC_ACTIVITY, WM_SETTEXT,
-                                        0, (LPARAM) Activity);
-                }
-                oldActivityID = RegistrationNotify->ActivityID;
             }
-            SendDlgItemMessageW(hwndDlg, IDC_ITEM, WM_SETTEXT, 0,
-                                (LPARAM)(NULL == 
RegistrationNotify->CurrentItem ?
-                                         L"" : 
RegistrationNotify->CurrentItem));
-            SendDlgItemMessage(hwndDlg, IDC_PROCESSPROGRESS, PBM_SETPOS,
-                               RegistrationNotify->Progress, 0);
-            if (NULL != RegistrationNotify->ErrorMessage)
+            else
             {
-                if (0 == LoadStringW(hDllInstance, IDS_REACTOS_SETUP,
-                                     Title, ARRAYSIZE(Title)))
-                {
-                    wcscpy(Title, L"ReactOS Setup");
-                }
-                MessageBoxW(hwndDlg, RegistrationNotify->ErrorMessage,
-                            Title, MB_ICONERROR | MB_OK);
-
+                ShowItemError(hwndDlg, (DWORD)lParam);
             }
+            break;
+
+        case PM_STEP_START:
+            DPRINT1("PM_STEP_START\n");
+            RegistrationNotify = (PREGISTRATIONNOTIFY)lParam;
+            SendDlgItemMessage(hwndDlg, IDC_ITEM, WM_SETTEXT, 0,
+                               (LPARAM)((RegistrationNotify->CurrentItem != 
NULL)? RegistrationNotify->CurrentItem : L""));
+            break;
 
-            if (wParam)
+        case PM_STEP_END:
+            DPRINT1("PM_STEP_END\n");
+            RegistrationNotify = (PREGISTRATIONNOTIFY)lParam;
+            SendDlgItemMessage(hwndDlg, IDC_PROCESSPROGRESS, PBM_SETPOS, 
RegistrationNotify->Progress, 0);
+            if (RegistrationNotify->LastError != ERROR_SUCCESS)
             {
-                /* Enable the Back and Next buttons */
-                PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT);
-                PropSheet_PressButton(GetParent(hwndDlg), PSBTN_NEXT);
+                ShowStepError(hwndDlg, RegistrationNotify);
             }
-        }
-        return TRUE;
+            break;
+
+        case PM_ITEMS_DONE:
+            DPRINT1("PM_ITEMS_DONE\n");
+            /* Enable the Back and Next buttons */
+            PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT);
+            PropSheet_PressButton(GetParent(hwndDlg), PSBTN_NEXT);
+            break;
 
         default:
             break;

Reply via email to