[USETUP] Modify the integrated user-mode PnP manager along the lines of UMPNPMGR...
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 23 Dec 2018 19:28:19 +0000 (20:28 +0100)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 23 Dec 2018 19:37:14 +0000 (20:37 +0100)
Add a corresponding please-wait page and update the translations.

29 files changed:
base/setup/usetup/devinst.c
base/setup/usetup/devinst.h [new file with mode: 0644]
base/setup/usetup/lang/bg-BG.h
base/setup/usetup/lang/bn-BD.h
base/setup/usetup/lang/cs-CZ.h
base/setup/usetup/lang/da-DK.h
base/setup/usetup/lang/de-DE.h
base/setup/usetup/lang/el-GR.h
base/setup/usetup/lang/en-US.h
base/setup/usetup/lang/es-ES.h
base/setup/usetup/lang/et-EE.h
base/setup/usetup/lang/fr-FR.h
base/setup/usetup/lang/he-IL.h
base/setup/usetup/lang/it-IT.h
base/setup/usetup/lang/ja-JP.h
base/setup/usetup/lang/lt-LT.h
base/setup/usetup/lang/ms-MY.h
base/setup/usetup/lang/nl-NL.h
base/setup/usetup/lang/pl-PL.h
base/setup/usetup/lang/pt-BR.h
base/setup/usetup/lang/ro-RO.h
base/setup/usetup/lang/ru-RU.h
base/setup/usetup/lang/sk-SK.h
base/setup/usetup/lang/sq-AL.h
base/setup/usetup/lang/sv-SE.h
base/setup/usetup/lang/tr-TR.h
base/setup/usetup/lang/uk-UA.h
base/setup/usetup/usetup.c
base/setup/usetup/usetup.h

index 2c067d7..ea4333c 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS text-mode setup
- * FILE:            base/setup/usetup/devinst.c
  * PURPOSE:         Device installation
  * PROGRAMMER:      Hervé Poussineau (hpoussin@reactos.org)
+ *                  Hermes Belusca-Maito
  */
 
 #include <usetup.h>
 #include <guiddef.h>
 #include <libs/umpnpmgr/sysguid.h>
 
-BOOLEAN
+/* LOCALS *******************************************************************/
+
+static HANDLE hEnumKey = NULL;
+static HANDLE hServicesKey = NULL;
+
+static HANDLE hNoPendingInstalls = NULL;
+
+static HANDLE hPnpThread = NULL;
+static HANDLE hDeviceInstallThread = NULL;
+
+static SLIST_HEADER DeviceInstallListHead;
+static HANDLE hDeviceInstallListNotEmpty = NULL;
+
+typedef struct
+{
+    SLIST_ENTRY ListEntry;
+    WCHAR DeviceIds[ANYSIZE_ARRAY];
+} DeviceInstallParams;
+
+/* FUNCTIONS ****************************************************************/
+
+static BOOLEAN
 ResetDevice(
     IN LPCWSTR DeviceId)
 {
@@ -32,7 +53,7 @@ ResetDevice(
     return TRUE;
 }
 
-BOOLEAN
+static BOOLEAN
 InstallDriver(
     IN HINF hInf,
     IN HANDLE hServices,
@@ -199,7 +220,7 @@ InstallDriver(
     return deviceInstalled;
 }
 
-VOID
+static VOID
 InstallDevice(
     IN HINF hInf,
     IN HANDLE hEnum,
@@ -337,38 +358,58 @@ InstallDevice(
     NtClose(hDeviceKey);
 }
 
-NTSTATUS
-EventThread(IN LPVOID lpParameter)
+/* Loop to install all queued devices installations */
+static ULONG NTAPI
+DeviceInstallThread(IN PVOID Parameter)
 {
-    UNICODE_STRING EnumU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Enum");
-    UNICODE_STRING ServicesU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Services");
+    HINF hSetupInf = *(HINF*)Parameter;
+    PSLIST_ENTRY ListEntry;
+    DeviceInstallParams* Params;
+    LARGE_INTEGER Timeout;
 
-    PPLUGPLAY_EVENT_BLOCK PnpEvent, NewPnpEvent;
-    OBJECT_ATTRIBUTES ObjectAttributes;
-    ULONG PnpEventSize;
-    HINF hInf;
-    HANDLE hEnum, hServices;
-    NTSTATUS Status;
-
-    hInf = *(HINF*)lpParameter;
-
-    InitializeObjectAttributes(&ObjectAttributes, &EnumU, OBJ_CASE_INSENSITIVE, NULL, NULL);
-    Status = NtOpenKey(&hEnum, KEY_QUERY_VALUE, &ObjectAttributes);
-    if (!NT_SUCCESS(Status))
+    for (;;)
     {
-        DPRINT1("NtOpenKey('%wZ') failed with status 0x%08lx\n", &EnumU, Status);
-        return Status;
-    }
+        ListEntry = RtlInterlockedPopEntrySList(&DeviceInstallListHead);
 
-    InitializeObjectAttributes(&ObjectAttributes, &ServicesU, OBJ_CASE_INSENSITIVE, NULL, NULL);
-    Status = NtCreateKey(&hServices, KEY_ALL_ACCESS, &ObjectAttributes, 0, NULL, REG_OPTION_NON_VOLATILE, NULL);
-    if (!NT_SUCCESS(Status))
-    {
-        DPRINT1("NtCreateKey('%wZ') failed with status 0x%08lx\n", &ServicesU, Status);
-        NtClose(hEnum);
-        return Status;
+        if (ListEntry == NULL)
+        {
+            /*
+             * The list is now empty, but there may be a new enumerated device
+             * that is going to be added to the list soon. In order to avoid
+             * setting the hNoPendingInstalls event to release it soon after,
+             * we wait for maximum 1 second for no PnP enumeration event being
+             * received before declaring that no pending installations are
+             * taking place and setting the corresponding event.
+             */
+            Timeout.QuadPart = -10000000LL; /* Wait for 1 second */
+            if (NtWaitForSingleObject(hDeviceInstallListNotEmpty, FALSE, &Timeout) == STATUS_TIMEOUT)
+            {
+                /* We timed out: set the event and do the actual wait */
+                NtSetEvent(hNoPendingInstalls, NULL);
+                NtWaitForSingleObject(hDeviceInstallListNotEmpty, FALSE, NULL);
+            }
+        }
+        else
+        {
+            NtResetEvent(hNoPendingInstalls, NULL);
+            Params = CONTAINING_RECORD(ListEntry, DeviceInstallParams, ListEntry);
+            InstallDevice(hSetupInf, hEnumKey, hServicesKey, Params->DeviceIds);
+            RtlFreeHeap(ProcessHeap, 0, Params);
+        }
     }
 
+    return 0;
+}
+
+static ULONG NTAPI
+PnpEventThread(IN PVOID Parameter)
+{
+    NTSTATUS Status;
+    PPLUGPLAY_EVENT_BLOCK PnpEvent, NewPnpEvent;
+    ULONG PnpEventSize;
+
+    UNREFERENCED_PARAMETER(Parameter);
+
     PnpEventSize = 0x1000;
     PnpEvent = RtlAllocateHeap(ProcessHeap, 0, PnpEventSize);
     if (PnpEvent == NULL)
@@ -400,20 +441,45 @@ EventThread(IN LPVOID lpParameter)
 
         if (!NT_SUCCESS(Status))
         {
-            DPRINT("NtPlugPlayEvent() failed (Status %lx)\n", Status);
-            break;
+            DPRINT1("NtGetPlugPlayEvent() failed (Status 0x%08lx)\n", Status);
+            goto Quit;
         }
 
         /* Process the PnP event */
         DPRINT("Received PnP Event\n");
-        if (IsEqualIID(&PnpEvent->EventGuid, (REFGUID)&GUID_DEVICE_ENUMERATED))
+        if (IsEqualGUID(&PnpEvent->EventGuid, &GUID_DEVICE_ENUMERATED))
         {
-            DPRINT("Device arrival event: %S\n", PnpEvent->TargetDevice.DeviceIds);
-            InstallDevice(hInf, hEnum, hServices, PnpEvent->TargetDevice.DeviceIds);
+            DeviceInstallParams* Params;
+            ULONG len;
+            ULONG DeviceIdLength;
+
+            DPRINT("Device enumerated event: %S\n", PnpEvent->TargetDevice.DeviceIds);
+
+            DeviceIdLength = wcslen(PnpEvent->TargetDevice.DeviceIds);
+            if (DeviceIdLength)
+            {
+                /* Queue device install (will be dequeued by DeviceInstallThread) */
+                len = FIELD_OFFSET(DeviceInstallParams, DeviceIds) + (DeviceIdLength + 1) * sizeof(WCHAR);
+                Params = RtlAllocateHeap(ProcessHeap, 0, len);
+                if (Params)
+                {
+                    wcscpy(Params->DeviceIds, PnpEvent->TargetDevice.DeviceIds);
+                    RtlInterlockedPushEntrySList(&DeviceInstallListHead, &Params->ListEntry);
+                    NtSetEvent(hDeviceInstallListNotEmpty, NULL);
+                }
+                else
+                {
+                    DPRINT1("Not enough memory (size %lu)\n", len);
+                }
+            }
         }
         else
         {
-            DPRINT("Unknown event\n");
+            DPRINT("Unknown event, GUID {%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}\n",
+                PnpEvent->EventGuid.Data1, PnpEvent->EventGuid.Data2, PnpEvent->EventGuid.Data3,
+                PnpEvent->EventGuid.Data4[0], PnpEvent->EventGuid.Data4[1], PnpEvent->EventGuid.Data4[2],
+                PnpEvent->EventGuid.Data4[3], PnpEvent->EventGuid.Data4[4], PnpEvent->EventGuid.Data4[5],
+                PnpEvent->EventGuid.Data4[6], PnpEvent->EventGuid.Data4[7]);
         }
 
         /* Dequeue the current PnP event and signal the next one */
@@ -426,17 +492,208 @@ Quit:
     if (PnpEvent)
         RtlFreeHeap(ProcessHeap, 0, PnpEvent);
 
-    NtClose(hServices);
-    NtClose(hEnum);
-
+    NtTerminateThread(NtCurrentThread(), Status);
     return Status;
 }
 
-DWORD WINAPI
-PnpEventThread(IN LPVOID lpParameter)
+NTSTATUS
+WaitNoPendingInstallEvents(
+    IN PLARGE_INTEGER Timeout OPTIONAL)
+{
+    return NtWaitForSingleObject(hNoPendingInstalls, FALSE, Timeout);
+}
+
+BOOLEAN
+EnableUserModePnpManager(VOID)
+{
+    LARGE_INTEGER Timeout;
+
+    /* Start the PnP thread */
+    if (hPnpThread != NULL)
+        NtResumeThread(hPnpThread, NULL);
+
+    /*
+     * Wait a little bit so that we get a chance to have some events being
+     * queued by the time the device-installation thread becomes resumed.
+     */
+    Timeout.QuadPart = -10000000LL; /* Wait for 1 second */
+    NtWaitForSingleObject(hDeviceInstallListNotEmpty, FALSE, &Timeout);
+
+    /* Start the device installation thread */
+    if (hDeviceInstallThread != NULL)
+        NtResumeThread(hDeviceInstallThread, NULL);
+
+    return TRUE;
+}
+
+BOOLEAN
+DisableUserModePnpManager(VOID)
+{
+    /* Wait until all pending installations are done, then freeze the threads */
+    if (WaitNoPendingInstallEvents(NULL) != STATUS_WAIT_0)
+        DPRINT1("WaitNoPendingInstallEvents() failed to wait!\n");
+
+    // TODO: use signalling events
+
+    NtSuspendThread(hPnpThread, NULL);
+    NtSuspendThread(hDeviceInstallThread, NULL);
+
+    return TRUE;
+}
+
+NTSTATUS
+InitializeUserModePnpManager(
+    IN HINF* phSetupInf)
 {
     NTSTATUS Status;
-    Status = EventThread(lpParameter);
-    NtTerminateThread(NtCurrentThread(), Status);
-    return 0;
+    OBJECT_ATTRIBUTES ObjectAttributes;
+
+    UNICODE_STRING EnumU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Enum");
+    UNICODE_STRING ServicesU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Services");
+
+    Status = NtCreateEvent(&hDeviceInstallListNotEmpty,
+                           EVENT_ALL_ACCESS,
+                           NULL,
+                           SynchronizationEvent,
+                           FALSE);
+    if (!NT_SUCCESS(Status))
+    {
+        DPRINT1("Could not create the event! (Status 0x%08lx)\n", Status);
+        goto Failure;
+    }
+
+    Status = NtCreateEvent(&hNoPendingInstalls,
+                           EVENT_ALL_ACCESS,
+                           NULL,
+                           NotificationEvent,
+                           FALSE);
+    if (!NT_SUCCESS(Status))
+    {
+        DPRINT1("Could not create the event! (Status 0x%08lx)\n", Status);
+        goto Failure;
+    }
+
+    RtlInitializeSListHead(&DeviceInstallListHead);
+
+    InitializeObjectAttributes(&ObjectAttributes, &EnumU, OBJ_CASE_INSENSITIVE, NULL, NULL);
+    Status = NtOpenKey(&hEnumKey, KEY_QUERY_VALUE, &ObjectAttributes);
+    if (!NT_SUCCESS(Status))
+    {
+        DPRINT1("NtOpenKey('%wZ') failed (Status 0x%08lx)\n", &EnumU, Status);
+        goto Failure;
+    }
+
+    InitializeObjectAttributes(&ObjectAttributes, &ServicesU, OBJ_CASE_INSENSITIVE, NULL, NULL);
+    Status = NtCreateKey(&hServicesKey, KEY_ALL_ACCESS, &ObjectAttributes, 0, NULL, REG_OPTION_NON_VOLATILE, NULL);
+    if (!NT_SUCCESS(Status))
+    {
+        DPRINT1("NtCreateKey('%wZ') failed (Status 0x%08lx)\n", &ServicesU, Status);
+        goto Failure;
+    }
+
+    /* Create the PnP event thread in suspended state */
+    Status = RtlCreateUserThread(NtCurrentProcess(),
+                                 NULL,
+                                 TRUE,
+                                 0,
+                                 0,
+                                 0,
+                                 PnpEventThread,
+                                 NULL,
+                                 &hPnpThread,
+                                 NULL);
+    if (!NT_SUCCESS(Status))
+    {
+        DPRINT1("Failed to create the PnP event thread (Status 0x%08lx)\n", Status);
+        hPnpThread = NULL;
+        goto Failure;
+    }
+
+    /* Create the device installation thread in suspended state */
+    Status = RtlCreateUserThread(NtCurrentProcess(),
+                                 NULL,
+                                 TRUE,
+                                 0,
+                                 0,
+                                 0,
+                                 DeviceInstallThread,
+                                 phSetupInf,
+                                 &hDeviceInstallThread,
+                                 NULL);
+    if (!NT_SUCCESS(Status))
+    {
+        DPRINT1("Failed to create the device installation thread (Status 0x%08lx)\n", Status);
+        hDeviceInstallThread = NULL;
+        goto Failure;
+    }
+
+    return STATUS_SUCCESS;
+
+Failure:
+    if (hPnpThread)
+    {
+        NtTerminateThread(hPnpThread, STATUS_SUCCESS);
+        NtClose(hPnpThread);
+    }
+    hPnpThread = NULL;
+
+    if (hServicesKey)
+        NtClose(hServicesKey);
+    hServicesKey = NULL;
+
+    if (hEnumKey)
+        NtClose(hEnumKey);
+    hEnumKey = NULL;
+
+    if (hNoPendingInstalls)
+        NtClose(hNoPendingInstalls);
+    hNoPendingInstalls = NULL;
+
+    if (hDeviceInstallListNotEmpty)
+        NtClose(hDeviceInstallListNotEmpty);
+    hDeviceInstallListNotEmpty = NULL;
+
+    return Status;
+}
+
+VOID
+TerminateUserModePnpManager(VOID)
+{
+    DisableUserModePnpManager();
+
+    // TODO: use signalling events
+
+    /* Kill the PnP thread as it blocks inside the NtGetPlugPlayEvent() call */
+    if (hPnpThread)
+    {
+        NtTerminateThread(hPnpThread, STATUS_SUCCESS);
+        NtClose(hPnpThread);
+    }
+    hPnpThread = NULL;
+
+    /* Kill the device installation thread */
+    if (hDeviceInstallThread)
+    {
+        NtTerminateThread(hDeviceInstallThread, STATUS_SUCCESS);
+        NtClose(hDeviceInstallThread);
+    }
+    hDeviceInstallThread = NULL;
+
+    /* Close the opened handles */
+
+    if (hServicesKey)
+        NtClose(hServicesKey);
+    hServicesKey = NULL;
+
+    if (hEnumKey)
+        NtClose(hEnumKey);
+    hEnumKey = NULL;
+
+    if (hNoPendingInstalls)
+        NtClose(hNoPendingInstalls);
+    hNoPendingInstalls = NULL;
+
+    if (hDeviceInstallListNotEmpty)
+        NtClose(hDeviceInstallListNotEmpty);
+    hDeviceInstallListNotEmpty = NULL;
 }
diff --git a/base/setup/usetup/devinst.h b/base/setup/usetup/devinst.h
new file mode 100644 (file)
index 0000000..5a1edc6
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * COPYRIGHT:       See COPYING in the top level directory
+ * PROJECT:         ReactOS text-mode setup
+ * PURPOSE:         Device installation
+ * PROGRAMMER:      Hervé Poussineau (hpoussin@reactos.org)
+ *                  Hermes Belusca-Maito
+ */
+
+NTSTATUS
+WaitNoPendingInstallEvents(
+    IN PLARGE_INTEGER Timeout OPTIONAL);
+
+BOOLEAN
+EnableUserModePnpManager(VOID);
+
+BOOLEAN
+DisableUserModePnpManager(VOID);
+
+NTSTATUS
+InitializeUserModePnpManager(
+    IN HINF* phSetupInf);
+
+VOID
+TerminateUserModePnpManager(VOID);
index 781fcdf..390b2b2 100644 (file)
@@ -3,12 +3,46 @@
 // To revert conversion, please execute "code7bit -r <file>".
 #pragma once
 
+static MUI_ENTRY bgBGSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY bgBGLanguagePageEntries[] =
 {
     {
         4,
         3,
-        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -54,7 +88,7 @@ static MUI_ENTRY bgBGWelcomePageEntries[] =
     {
         4,
         3,
-        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -136,7 +170,7 @@ static MUI_ENTRY bgBGIntroPageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -206,7 +240,7 @@ static MUI_ENTRY bgBGLicensePageEntries[] =
     {
         4,
         3,
-        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -330,7 +364,7 @@ static MUI_ENTRY bgBGDevicePageEntries[] =
     {
         4,
         3,
-        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -423,7 +457,7 @@ static MUI_ENTRY bgBGRepairPageEntries[] =
     {
         4,
         3,
-        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -487,7 +521,7 @@ static MUI_ENTRY bgBGUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -557,7 +591,7 @@ static MUI_ENTRY bgBGComputerPageEntries[] =
     {
         4,
         3,
-        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -609,7 +643,7 @@ static MUI_ENTRY bgBGFlushPageEntries[] =
     {
         4,
         3,
-        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -649,7 +683,7 @@ static MUI_ENTRY bgBGQuitPageEntries[] =
     {
         4,
         3,
-        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -695,7 +729,7 @@ static MUI_ENTRY bgBGDisplayPageEntries[] =
     {
         4,
         3,
-        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -746,7 +780,7 @@ static MUI_ENTRY bgBGSuccessPageEntries[] =
     {
         4,
         3,
-        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -792,7 +826,7 @@ static MUI_ENTRY bgBGBootPageEntries[] =
     {
         4,
         3,
-        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -839,7 +873,7 @@ static MUI_ENTRY bgBGSelectPartitionEntries[] =
     {
         4,
         3,
-        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -910,7 +944,7 @@ static MUI_ENTRY bgBGConfirmDeleteSystemPartitionEntries[] =
     {
         4,
         3,
-        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -1004,7 +1038,7 @@ static MUI_ENTRY bgBGFormatPartitionEntries[] =
     {
         4,
         3,
-        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \221\253\240\243\240\255\245 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -1038,7 +1072,7 @@ static MUI_ENTRY bgBGInstallDirectoryEntries[] =
     {
         4,
         3,
-        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -1090,7 +1124,7 @@ static MUI_ENTRY bgBGFileCopyEntries[] =
     {
         4,
         3,
-        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -1131,7 +1165,7 @@ static MUI_ENTRY bgBGBootLoaderEntries[] =
     {
         4,
         3,
-        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -1183,7 +1217,7 @@ static MUI_ENTRY bgBGKeyboardSettingsEntries[] =
     {
         4,
         3,
-        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -1235,7 +1269,7 @@ static MUI_ENTRY bgBGLayoutSettingsEntries[] =
     {
         4,
         3,
-        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -1288,13 +1322,13 @@ static MUI_ENTRY bgBGPrepareCopyEntries[] =
     {
         4,
         3,
-        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
         6,
         8,
-        "\212\256\254\257\356\342\352\340\352\342 \341\245 \257\256\244\243\256\342\242\357 \247\240 \247\240\257\250\341 \255\240 \344\240\251\253\256\242\245\342\245 \255\240 \220\245\240\252\342\216\221. ",
+        "\212\256\254\257\356\342\352\340\352\342 \341\245 \257\256\244\243\256\342\242\357 \247\240 \247\240\257\250\341 \255\240 \344\240\251\253\256\242\245\342\245 \255\240 \220\245\240\252\342\216\221.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1317,7 +1351,7 @@ static MUI_ENTRY bgBGSelectFSEntries[] =
     {
         4,
         3,
-        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -1364,7 +1398,7 @@ static MUI_ENTRY bgBGDeletePartitionEntries[] =
     {
         4,
         3,
-        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -1410,13 +1444,13 @@ static MUI_ENTRY bgBGRegistryEntries[] =
     {
         4,
         3,
-        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " . ",
+        " \215\240\341\342\340\256\251\252\240 \255\240 \220\245\240\252\342\216\221 " KERNEL_VERSION_STR " .",
         TEXT_STYLE_UNDERLINE
     },
     {
         6,
         8,
-        "\217\340\256\342\250\347\240 \256\241\255\256\242\357\242\240\255\245 \255\240 \341\250\341\342\245\254\255\250\342\245 \255\240\341\342\340\256\251\252\250. ",
+        "\217\340\256\342\250\347\240 \256\241\255\256\242\357\242\240\255\245 \255\240 \341\250\341\342\245\254\255\250\342\245 \255\240\341\342\340\256\251\252\250.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1682,6 +1716,10 @@ MUI_ERROR bgBGErrorEntries[] =
 
 MUI_PAGE bgBGPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        bgBGSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         bgBGLanguagePageEntries
index 352aeb1..1cde932 100644 (file)
@@ -1,5 +1,39 @@
 #pragma once
 
+static MUI_ENTRY bnBDSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY bnBDLanguagePageEntries[] =
 {
     {
@@ -606,19 +640,19 @@ static MUI_ENTRY bnBDFlushPageEntries[] =
     {
         10,
         6,
-        "The system is now making sure all data is stored on your disk",
+        "The system is now making sure all data is stored on your disk.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         8,
-        "This may take a minute",
+        "This may take a minute.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         9,
-        "When finished, your computer will reboot automatically",
+        "When finished, your computer will reboot automatically.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -646,7 +680,7 @@ static MUI_ENTRY bnBDQuitPageEntries[] =
     {
         10,
         6,
-        "ReactOS is not completely installed",
+        "ReactOS is not completely installed.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -670,7 +704,7 @@ static MUI_ENTRY bnBDQuitPageEntries[] =
     {
         0,
         0,
-        "Please wait ...",
+        "Please wait...",
         TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
     },
     {
@@ -1283,7 +1317,7 @@ static MUI_ENTRY bnBDPrepareCopyEntries[] =
     {
         6,
         8,
-        "Setup prepares your computer for copying the ReactOS files. ",
+        "Setup prepares your computer for copying the ReactOS files.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1405,7 +1439,7 @@ static MUI_ENTRY bnBDRegistryEntries[] =
     {
         6,
         8,
-        "Setup is updating the system configuration. ",
+        "Setup is updating the system configuration.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1669,6 +1703,10 @@ MUI_ERROR bnBDErrorEntries[] =
 
 MUI_PAGE bnBDPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        bnBDSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         bnBDLanguagePageEntries
index 588f6cc..361d752 100644 (file)
@@ -9,6 +9,40 @@
 
 #pragma once
 
+static MUI_ENTRY csCZSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " Instalace ReactOS " KERNEL_VERSION_STR " ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY csCZLanguagePageEntries[] =
 {
     {
@@ -136,7 +170,7 @@ static MUI_ENTRY csCZIntroPageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " Instalace ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -487,7 +521,7 @@ static MUI_ENTRY csCZUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " Instalace ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -655,7 +689,7 @@ static MUI_ENTRY csCZQuitPageEntries[] =
     {
         10,
         6,
-        "ReactOS nen\241 kompletn\330 nainstalov\240n",
+        "ReactOS nen\241 kompletn\330 nainstalov\240n.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1678,6 +1712,10 @@ MUI_ERROR csCZErrorEntries[] =
 
 MUI_PAGE csCZPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        csCZSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         csCZLanguagePageEntries
index c8f7a8d..c203f21 100644 (file)
@@ -3,6 +3,40 @@
 // To revert conversion, please execute "code7bit -r <file>".
 #pragma once
 
+static MUI_ENTRY daDKSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " ReactOS " KERNEL_VERSION_STR " installationen ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY daDKLanguagePageEntries[] =
 {
     {
@@ -130,7 +164,7 @@ static MUI_ENTRY daDKIntroPageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " ReactOS " KERNEL_VERSION_STR " installationen ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -487,7 +521,7 @@ static MUI_ENTRY daDKUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " ReactOS " KERNEL_VERSION_STR " installationen ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -615,13 +649,13 @@ static MUI_ENTRY daDKFlushPageEntries[] =
     {
         10,
         6,
-        "Systemet tjekker i \233jeblikket om alt er blevet kopieret til din disk",
+        "Systemet tjekker i \233jeblikket om alt er blevet kopieret til din disk.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         8,
-        "Dette tager et \233jeblik",
+        "Dette tager et \233jeblik.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -655,7 +689,7 @@ static MUI_ENTRY daDKQuitPageEntries[] =
     {
         10,
         6,
-        "ReactOS er ikke blevet helt installeret",
+        "ReactOS er ikke blevet helt installeret.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1299,7 +1333,7 @@ static MUI_ENTRY daDKPrepareCopyEntries[] =
     {
         6,
         8,
-        "Installationen g\233r din computer klar til at kopiere ReactOS filerne. ",
+        "Installationen g\233r din computer klar til at kopiere ReactOS filerne.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1421,7 +1455,7 @@ static MUI_ENTRY daDKRegistryEntries[] =
     {
         6,
         8,
-        "Installationen opdatere systemkonfigurationen. ",
+        "Installationen opdatere systemkonfigurationen.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1686,6 +1720,10 @@ MUI_ERROR daDKErrorEntries[] =
 
 MUI_PAGE daDKPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        daDKSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         daDKLanguagePageEntries
index 5063475..a01c38b 100644 (file)
@@ -3,6 +3,40 @@
 // To revert conversion, please execute "code7bit -r <file>".
 #pragma once
 
+static MUI_ENTRY deDESetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY deDELanguagePageEntries[] =
 {
     {
@@ -615,7 +649,7 @@ static MUI_ENTRY deDEFlushPageEntries[] =
     {
         10,
         6,
-        "Die geschrieben Daten werden \201berpr\201ft",
+        "Die geschrieben Daten werden \201berpr\201ft.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -655,7 +689,7 @@ static MUI_ENTRY deDEQuitPageEntries[] =
     {
         10,
         6,
-        "ReactOS wurde nicht vollst\204ndig installiert",
+        "ReactOS wurde nicht vollst\204ndig installiert.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -673,7 +707,7 @@ static MUI_ENTRY deDEQuitPageEntries[] =
     {
         0,
         0,
-        "Bitte warten ...",
+        "Bitte warten...",
         TEXT_TYPE_STATUS | TEXT_PADDING_BIG
     },
     {
@@ -1408,7 +1442,7 @@ static MUI_ENTRY deDERegistryEntries[] =
     {
         6,
         8,
-        "Systemkonfiguration wird aktualisiert. ",
+        "Systemkonfiguration wird aktualisiert.",
         TEXT_STYLE_HIGHLIGHT
     },
     {
@@ -1675,6 +1709,10 @@ MUI_ERROR deDEErrorEntries[] =
 
 MUI_PAGE deDEPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        deDESetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         deDELanguagePageEntries
index d926085..c839e82 100644 (file)
@@ -3,6 +3,40 @@
 // To revert conversion, please execute "code7bit -r <file>".
 #pragma once
 
+static MUI_ENTRY elGRSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " \204\232\241\230\253\341\251\253\230\251\236 \253\246\254 ReactOS " KERNEL_VERSION_STR,
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY elGRLanguagePageEntries[] =
 {
     {
@@ -130,7 +164,7 @@ static MUI_ENTRY elGRIntroPageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " \204\232\241\230\253\341\251\253\230\251\236 \253\246\254 ReactOS " KERNEL_VERSION_STR,
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -481,7 +515,7 @@ static MUI_ENTRY elGRUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " \204\232\241\230\253\341\251\253\230\251\236 \253\246\254 ReactOS " KERNEL_VERSION_STR,
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -655,7 +689,7 @@ static MUI_ENTRY elGRQuitPageEntries[] =
     {
         10,
         6,
-        "\222\246 ReactOS \233\234\244 \234\232\241\230\253\230\251\253\341\237\236\241\234 \247\242\343\250\340\252",
+        "\222\246 ReactOS \233\234\244 \234\232\241\230\253\230\251\253\341\237\236\241\234 \247\242\343\250\340\252.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -679,7 +713,7 @@ static MUI_ENTRY elGRQuitPageEntries[] =
     {
         0,
         0,
-        "   \217\230\250\230\241\230\242\351 \247\234\250\240\243\342\244\234\253\234 ...",
+        "   \217\230\250\230\241\230\242\351 \247\234\250\240\243\342\244\234\253\234...",
         TEXT_TYPE_STATUS,
     },
     {
@@ -1310,7 +1344,7 @@ static MUI_ENTRY elGRPrepareCopyEntries[] =
     {
         6,
         8,
-        "\206 \234\232\241\230\253\341\251\253\230\251\236 \247\250\246\234\253\246\240\243\341\235\234\240 \253\246\244 \254\247\246\242\246\232\240\251\253\343 \251\230\252 \232\240\230 \253\236\244 \230\244\253\240\232\250\230\255\343 \253\340\244 \230\250\256\234\345\340\244 \253\246\254 ReactOS. ",
+        "\206 \234\232\241\230\253\341\251\253\230\251\236 \247\250\246\234\253\246\240\243\341\235\234\240 \253\246\244 \254\247\246\242\246\232\240\251\253\343 \251\230\252 \232\240\230 \253\236\244 \230\244\253\240\232\250\230\255\343 \253\340\244 \230\250\256\234\345\340\244 \253\246\254 ReactOS.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1432,7 +1466,7 @@ static MUI_ENTRY elGRRegistryEntries[] =
     {
         6,
         8,
-        "\206 \234\232\241\230\253\341\251\253\230\251\236 \230\244\230\244\234\351\244\234\240 \253\236 \233\246\243\343 \253\246\254 \251\254\251\253\343\243\230\253\246\252. ",
+        "\206 \234\232\241\230\253\341\251\253\230\251\236 \230\244\230\244\234\351\244\234\240 \253\236 \233\246\243\343 \253\246\254 \251\254\251\253\343\243\230\253\246\252.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1688,6 +1722,10 @@ MUI_ERROR elGRErrorEntries[] =
 
 MUI_PAGE elGRPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        elGRSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         elGRLanguagePageEntries
index 1f90eb2..8ba4fab 100644 (file)
@@ -1,5 +1,39 @@
 #pragma once
 
+static MUI_ENTRY enUSSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY enUSLanguagePageEntries[] =
 {
     {
@@ -607,19 +641,19 @@ static MUI_ENTRY enUSFlushPageEntries[] =
     {
         10,
         6,
-        "The system is now making sure all data is stored on your disk",
+        "The system is now making sure all data is stored on your disk.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         8,
-        "This may take a minute",
+        "This may take a minute.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         9,
-        "When finished, your computer will reboot automatically",
+        "When finished, your computer will reboot automatically.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -647,7 +681,7 @@ static MUI_ENTRY enUSQuitPageEntries[] =
     {
         10,
         6,
-        "ReactOS is not completely installed",
+        "ReactOS is not completely installed.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -671,7 +705,7 @@ static MUI_ENTRY enUSQuitPageEntries[] =
     {
         0,
         0,
-        "Please wait ...",
+        "Please wait...",
         TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
     },
     {
@@ -1284,7 +1318,7 @@ static MUI_ENTRY enUSPrepareCopyEntries[] =
     {
         6,
         8,
-        "Setup prepares your computer for copying the ReactOS files. ",
+        "Setup prepares your computer for copying the ReactOS files.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1406,7 +1440,7 @@ static MUI_ENTRY enUSRegistryEntries[] =
     {
         6,
         8,
-        "Setup is updating the system configuration. ",
+        "Setup is updating the system configuration.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1670,6 +1704,10 @@ MUI_ERROR enUSErrorEntries[] =
 
 MUI_PAGE enUSPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        enUSSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         enUSLanguagePageEntries
index 9df1907..dd55090 100644 (file)
@@ -5,6 +5,40 @@
 
 #pragma once
 
+static MUI_ENTRY esESSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " Instalaci\242n de ReactOS " KERNEL_VERSION_STR " ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY esESLanguagePageEntries[] =
 {
     {
@@ -132,7 +166,7 @@ static MUI_ENTRY esESIntroPageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " Instalaci\242n de ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -483,7 +517,7 @@ static MUI_ENTRY esESUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " Instalaci\242n de ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -611,19 +645,19 @@ static MUI_ENTRY esESFlushPageEntries[] =
     {
         10,
         6,
-        "El sistema se est\240 asegurando que todos los datos sean salvados",
+        "El sistema se est\240 asegurando que todos los datos sean salvados.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         8,
-        "Esta operaci\242n puede durar varios minutos",
+        "Esta operaci\242n puede durar varios minutos.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         9,
-        "Cuando haya terminado, su equipo se reiniciar\240 autom\240ticamente",
+        "Cuando haya terminado, su equipo se reiniciar\240 autom\240ticamente.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -651,7 +685,7 @@ static MUI_ENTRY esESQuitPageEntries[] =
     {
         10,
         6,
-        "ReactOS no ha sido instalado completamente",
+        "ReactOS no ha sido instalado completamente.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1040,7 +1074,7 @@ static MUI_ENTRY esESInstallDirectoryEntries[] =
     {
         6,
         8,
-        "El programa instalar\240 los archivos en la partici\242n seleccionada. ",
+        "El programa instalar\240 los archivos en la partici\242n seleccionada.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1289,7 +1323,7 @@ static MUI_ENTRY esESPrepareCopyEntries[] =
     {
         6,
         8,
-        "El programa prepara su equipo para copiar los archivos de ReactOS. ",
+        "El programa prepara su equipo para copiar los archivos de ReactOS.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1411,7 +1445,7 @@ static MUI_ENTRY esESRegistryEntries[] =
     {
         6,
         8,
-        "El instalador est\240 actualizando la configuraci\242n del sistema. ",
+        "El instalador est\240 actualizando la configuraci\242n del sistema.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1675,6 +1709,10 @@ MUI_ERROR esESErrorEntries[] =
 
 MUI_PAGE esESPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        esESSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         esESLanguagePageEntries
index 0dbb8d9..cb18cab 100644 (file)
@@ -3,6 +3,40 @@
 // To revert conversion, please execute "code7bit -r <file>".
 #pragma once
 
+static MUI_ENTRY etEESetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " ReactOS " KERNEL_VERSION_STR " paigaldus ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY etEELanguagePageEntries[] =
 {
     {
@@ -481,7 +515,7 @@ static MUI_ENTRY etEEUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " ReactOS " KERNEL_VERSION_STR " paigaldus ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -609,19 +643,19 @@ static MUI_ENTRY etEEFlushPageEntries[] =
     {
         10,
         6,
-        "S\201steem kirjutab n\201\201d andmed kettale",
+        "S\201steem kirjutab n\201\201d andmed kettale.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         8,
-        "V\344ib kuluda veidi aega",
+        "V\344ib kuluda veidi aega.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         9,
-        "L\344petamisel taask\204ivitub arvuti automaatselt",
+        "L\344petamisel taask\204ivitub arvuti automaatselt.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -649,7 +683,7 @@ static MUI_ENTRY etEEQuitPageEntries[] =
     {
         10,
         6,
-        "ReactOS ei ole t\204ielikult paigaldatud",
+        "ReactOS ei ole t\204ielikult paigaldatud.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1671,6 +1705,10 @@ MUI_ERROR etEEErrorEntries[] =
 
 MUI_PAGE etEEPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        etEESetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         etEELanguagePageEntries
index c92e15f..d50f7fb 100644 (file)
@@ -3,6 +3,40 @@
 // To revert conversion, please execute "code7bit -r <file>".
 #pragma once
 
+static MUI_ENTRY frFRSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " Installation de ReactOS " KERNEL_VERSION_STR " ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Veuillez patienter pendant que le programme d'installation de ReactOS",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "s'initialise et d\202couvre vos p\202riph\202riques...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Veuillez patienter...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY frFRLanguagePageEntries[] =
 {
     {
@@ -72,7 +106,7 @@ static MUI_ENTRY frFRWelcomePageEntries[] =
     {
         6,
         12,
-        "sur votre ordinateur et le pr\202pare \205 la 2e partie de l'installation.",
+        "sur votre ordinateur et le pr\202pare \205 la 2\212me partie de l'installation.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -130,7 +164,7 @@ static MUI_ENTRY frFRIntroPageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " Installation de ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -615,19 +649,19 @@ static MUI_ENTRY frFRFlushPageEntries[] =
     {
         10,
         6,
-        "Le syst\212me s'assure que toutes les donn\202es sont \202crites sur le disque",
+        "Le syst\212me s'assure que toutes les donn\202es sont \202crites sur le disque.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         8,
-        "Cela peut prendre une minute",
+        "Cela peut prendre une minute.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         9,
-        "Quand cela sera fini, votre ordinateur red\202marrera automatiquement",
+        "Quand cela sera fini, votre ordinateur red\202marrera automatiquement.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -655,7 +689,7 @@ static MUI_ENTRY frFRQuitPageEntries[] =
     {
         10,
         6,
-        "ReactOS n'est pas compl\212tement install\202",
+        "ReactOS n'est pas compl\212tement install\202.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -679,7 +713,7 @@ static MUI_ENTRY frFRQuitPageEntries[] =
     {
         0,
         0,
-        "Veuillez attendre ...",
+        "Veuillez patienter...",
         TEXT_TYPE_STATUS | TEXT_PADDING_BIG
     },
     {
@@ -1304,7 +1338,7 @@ static MUI_ENTRY frFRPrepareCopyEntries[] =
     {
         6,
         8,
-        "Setup pr\202pare votre ordinateur pour copier les fichiers de ReactOS. ",
+        "Setup pr\202pare votre ordinateur pour copier les fichiers de ReactOS.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1426,7 +1460,7 @@ static MUI_ENTRY frFRRegistryEntries[] =
     {
         6,
         8,
-        "Setup met \205 jour la configuration du syst\212me. ",
+        "Setup met \205 jour la configuration du syst\212me.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1690,6 +1724,10 @@ MUI_ERROR frFRErrorEntries[] =
 
 MUI_PAGE frFRPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        frFRSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         frFRLanguagePageEntries
index f7701b6..4f252a9 100644 (file)
@@ -4,6 +4,40 @@
 #pragma once
 /* Hebrew text is in visual order */
 
+static MUI_ENTRY heILSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " ReactOS " KERNEL_VERSION_STR " \232\220\227\232\204 ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY heILLanguagePageEntries[] =
 {
     {
@@ -611,19 +645,19 @@ static MUI_ENTRY heILFlushPageEntries[] =
     {
         10,
         6,
-        "\212\214\231 \217\220\205\213\204 \214\222 \230\205\216\231 \222\203\211\216\204 \214\213\231 \200\203\205\205\232 \205\211\231\213\222 \232\213\230\222\216\204",
+        "\212\214\231 \217\220\205\213\204 \214\222 \230\205\216\231 \222\203\211\216\204 \214\213\231 \200\203\205\205\232 \205\211\231\213\222 \232\213\230\222\216\204.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         8,
-        "\232\205\227\203 \204\216\213 \232\207\227\214 \214\205\213\211 \204\206",
+        "\232\205\227\203 \204\216\213 \232\207\227\214 \214\205\213\211 \204\206.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         9,
-        "\211\210\216\205\210\205\200 \217\224\205\200\201 \231\203\207\216 \214\222\224\205\211 \201\231\207\216\204 ,\215\205\211\221\201",
+        "\211\210\216\205\210\205\200 \217\224\205\200\201 \231\203\207\216 \214\222\224\205\211 \201\231\207\216\204 ,\215\205\211\221\201.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1672,6 +1706,10 @@ MUI_ERROR heILErrorEntries[] =
 
 MUI_PAGE heILPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        heILSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         heILLanguagePageEntries
index c5784b9..736b714 100644 (file)
@@ -1,5 +1,39 @@
 #pragma once
 
+static MUI_ENTRY itITSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " Installazione di ReactOS " KERNEL_VERSION_STR " ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY itITLanguagePageEntries[] =
 {
     {
@@ -478,7 +512,7 @@ static MUI_ENTRY itITUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " Installazione di ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -606,19 +640,19 @@ static MUI_ENTRY itITFlushPageEntries[] =
     {
         10,
         6,
-        "Il sistema si sta accertando che tutti i dati vengano salvati",
+        "Il sistema si sta accertando che tutti i dati vengano salvati.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         8,
-        "Questo potrebbe impiegare qualche minuto",
+        "Questo potrebbe impiegare qualche minuto.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         9,
-        "Al termine, il computer verr\x85 riavviato automaticamente",
+        "Al termine, il computer verr\x85 riavviato automaticamente.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -646,7 +680,7 @@ static MUI_ENTRY itITQuitPageEntries[] =
     {
         10,
         6,
-        "ReactOS non \x8A stato installato completamente",
+        "ReactOS non \x8A stato installato completamente.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1289,7 +1323,7 @@ static MUI_ENTRY itITPrepareCopyEntries[] =
     {
         6,
         8,
-        "Setup sta preparando il computer per la copia dei file di ReactOS. ",
+        "Setup sta preparando il computer per la copia dei file di ReactOS.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1411,7 +1445,7 @@ static MUI_ENTRY itITRegistryEntries[] =
     {
         6,
         8,
-        "Setup sta aggiornando la configurazione del sistema. ",
+        "Setup sta aggiornando la configurazione del sistema.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1675,6 +1709,10 @@ MUI_ERROR itITErrorEntries[] =
 
 MUI_PAGE itITPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        itITSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         itITLanguagePageEntries
index de7412a..b8a7a49 100644 (file)
@@ -3,6 +3,40 @@
 // To revert conversion, please execute "code7bit -r <file>".
 #pragma once
 
+static MUI_ENTRY jaJPSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " ReactOS " KERNEL_VERSION_STR " \276\257\304\261\257\314\337 ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY jaJPLanguagePageEntries[] =
 {
     {
@@ -130,7 +164,7 @@ static MUI_ENTRY jaJPIntroPageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " ReactOS " KERNEL_VERSION_STR " \276\257\304\261\257\314\337 ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -481,7 +515,7 @@ static MUI_ENTRY jaJPUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " ReactOS " KERNEL_VERSION_STR " \276\257\304\261\257\314\337 ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -673,7 +707,7 @@ static MUI_ENTRY jaJPQuitPageEntries[] =
     {
         0,
         0,
-        "\265\317\301 \270\300\336\273\262 ...",
+        "\265\317\301 \270\300\336\273\262...",
         TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
     },
     {
@@ -1673,6 +1707,10 @@ MUI_ERROR jaJPErrorEntries[] =
 
 MUI_PAGE jaJPPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        jaJPSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         jaJPLanguagePageEntries
index 0a2f87d..5fe9791 100644 (file)
 
 #pragma once
 
+static MUI_ENTRY ltLTSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " ReactOS " KERNEL_VERSION_STR " diegimo programa ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY ltLTLanguagePageEntries[] =
 {
     {
@@ -139,7 +173,7 @@ static MUI_ENTRY ltLTIntroPageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " ReactOS " KERNEL_VERSION_STR " diegimo programa ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -490,7 +524,7 @@ static MUI_ENTRY ltLTUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " ReactOS " KERNEL_VERSION_STR " diegimo programa ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -618,19 +652,19 @@ static MUI_ENTRY ltLTFlushPageEntries[] =
     {
         10,
         6,
-        "The system is now making sure all data is stored on your disk",
+        "The system is now making sure all data is stored on your disk.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         8,
-        "This may take a minute",
+        "This may take a minute.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         9,
-        "When finished, your computer will reboot automatically",
+        "When finished, your computer will reboot automatically.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -658,7 +692,7 @@ static MUI_ENTRY ltLTQuitPageEntries[] =
     {
         10,
         6,
-        "ReactOS is not completely installed",
+        "ReactOS is not completely installed.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1295,7 +1329,7 @@ static MUI_ENTRY ltLTPrepareCopyEntries[] =
     {
         6,
         8,
-        "Setup prepares your computer for copying the ReactOS files. ",
+        "Setup prepares your computer for copying the ReactOS files.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1417,7 +1451,7 @@ static MUI_ENTRY ltLTRegistryEntries[] =
     {
         6,
         8,
-        "Setup is updating the system configuration. ",
+        "Setup is updating the system configuration.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1681,6 +1715,10 @@ MUI_ERROR ltLTErrorEntries[] =
 
 MUI_PAGE ltLTPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        ltLTSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         ltLTLanguagePageEntries
index 426769f..be06b02 100644 (file)
@@ -1,5 +1,39 @@
 #pragma once
 
+static MUI_ENTRY msMYSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " ReactOS " KERNEL_VERSION_STR " Persediaan ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY msMYLanguagePageEntries[] =
 {
     {
@@ -127,7 +161,7 @@ static MUI_ENTRY msMYIntroPageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " ReactOS " KERNEL_VERSION_STR " Persediaan ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -478,7 +512,7 @@ static MUI_ENTRY msMYUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " ReactOS " KERNEL_VERSION_STR " Persediaan ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -606,19 +640,19 @@ static MUI_ENTRY msMYFlushPageEntries[] =
     {
         10,
         6,
-        "Sistem sekarang memastikan semua data yang disimpan pada cakera anda",
+        "Sistem sekarang memastikan semua data yang disimpan pada cakera anda.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         8,
-        "Ini mungkin mengambil beberapa minit",
+        "Ini mungkin mengambil beberapa minit.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         9,
-        "Apabila selesai, komputer akan but semula secara automatik",
+        "Apabila selesai, komputer akan but semula secara automatik.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -646,7 +680,7 @@ static MUI_ENTRY msMYQuitPageEntries[] =
     {
         10,
         6,
-        "ReactOS tidak dipasang sepenuhnya",
+        "ReactOS tidak dipasang sepenuhnya.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1183,7 +1217,7 @@ static MUI_ENTRY msMYPrepareCopyEntries[] =
     {
         6,
         8,
-        "Persediaan menyediakan komputer awda untuk menyalin fail-fail ReactOS. ",
+        "Persediaan menyediakan komputer awda untuk menyalin fail-fail ReactOS.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1305,7 +1339,7 @@ static MUI_ENTRY msMYRegistryEntries[] =
     {
         6,
         8,
-        "Persediaan sedang mengemaskini konfigurasi sistem. ",
+        "Persediaan sedang mengemaskini konfigurasi sistem.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1562,6 +1596,10 @@ MUI_ERROR msMYErrorEntries[] =
 
 MUI_PAGE msMYPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        msMYSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         msMYLanguagePageEntries
index 7cee942..e2beb8c 100644 (file)
@@ -8,6 +8,40 @@
 
 #pragma once
 
+static MUI_ENTRY nlNLSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY nlNLLanguagePageEntries[] =
 {
     {
@@ -1120,7 +1154,7 @@ static MUI_ENTRY nlNLFileCopyEntries[] =
     {
         50,
         0,
-        "\xB3 Een ogenblik geduld ...",
+        "\xB3 Een ogenblik geduld...",
         TEXT_TYPE_STATUS
     },
     {
@@ -1695,6 +1729,10 @@ MUI_ERROR nlNLErrorEntries[] =
 
 MUI_PAGE nlNLPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        nlNLSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         nlNLLanguagePageEntries
index d661297..305f7bf 100644 (file)
 
 #pragma once
 
+static MUI_ENTRY plPLSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " Instalator ReactOS " KERNEL_VERSION_STR " ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY plPLLanguagePageEntries[] =
 {
     {
@@ -618,7 +652,7 @@ static MUI_ENTRY plPLFlushPageEntries[] =
     {
         10,
         6,
-        "System ReactOS sprawdza, czy dane s\245 poprawnie zapisane na dysku",
+        "System ReactOS sprawdza, czy dane s\245 poprawnie zapisane na dysku.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -682,7 +716,7 @@ static MUI_ENTRY plPLQuitPageEntries[] =
     {
         0,
         0,
-        "Prosz\251 czeka\206 ...",
+        "Prosz\251 czeka\206...",
         TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
     },
     {
@@ -1295,7 +1329,7 @@ static MUI_ENTRY plPLPrepareCopyEntries[] =
     {
         6,
         8,
-        "Instalator przygotuje tw\242j komputer do skopiowania plik\242w systemu. ",
+        "Instalator przygotuje tw\242j komputer do skopiowania plik\242w systemu.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1417,7 +1451,7 @@ static MUI_ENTRY plPLRegistryEntries[] =
     {
         6,
         8,
-        "Instalator uaktualnia w\210a\230nie konfiguracj\251 systemu. ",
+        "Instalator uaktualnia w\210a\230nie konfiguracj\251 systemu.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1681,6 +1715,10 @@ MUI_ERROR plPLErrorEntries[] =
 
 MUI_PAGE plPLPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        plPLSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         plPLLanguagePageEntries
index b038432..32987a7 100644 (file)
@@ -3,6 +3,40 @@
 // To revert conversion, please execute "code7bit -r <file>".
 #pragma once
 
+static MUI_ENTRY ptBRSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " Instala\207\306o do ReactOS " KERNEL_VERSION_STR " ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY ptBRLanguagePageEntries[] =
 {
     {
@@ -130,7 +164,7 @@ static MUI_ENTRY ptBRIntroPageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " Instala\207\306o do ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -475,7 +509,7 @@ static MUI_ENTRY ptBRUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " Instala\207\306o do ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -1703,6 +1737,10 @@ MUI_ERROR ptBRErrorEntries[] =
 
 MUI_PAGE ptBRPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        ptBRSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         ptBRLanguagePageEntries
index def1a04..eb30144 100644 (file)
@@ -4,6 +4,40 @@
 /* ªtefan Fulea (stefan dot fulea at mail dot com) */
 #pragma once
 
+static MUI_ENTRY roROSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " Instalare ReactOS " KERNEL_VERSION_STR,
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY roROLanguagePageEntries[] =
 {
     {
@@ -513,7 +547,7 @@ static MUI_ENTRY roROUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " Instalare ReactOS " KERNEL_VERSION_STR,
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -1719,6 +1753,10 @@ MUI_ERROR roROErrorEntries[] =
 
 MUI_PAGE roROPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        roROSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         roROLanguagePageEntries
index ac59201..3f281b3 100644 (file)
@@ -3,6 +3,40 @@
 // To revert conversion, please execute "code7bit -r <file>".
 #pragma once
 
+static MUI_ENTRY ruRUSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " \223\341\342\240\255\256\242\252\240 ReactOS " KERNEL_VERSION_STR,
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY ruRULanguagePageEntries[] =
 {
     {
@@ -1304,7 +1338,7 @@ static MUI_ENTRY ruRUPrepareCopyEntries[] =
     {
         6,
         8,
-        "\217\256\244\243\256\342\256\242\252\240 \242\240\350\245\243\256 \252\256\254\257\354\356\342\245\340\240 \252 \252\256\257\250\340\256\242\240\255\250\356 \344\240\251\253\256\242 ReactOS. ",
+        "\217\256\244\243\256\342\256\242\252\240 \242\240\350\245\243\256 \252\256\254\257\354\356\342\245\340\240 \252 \252\256\257\250\340\256\242\240\255\250\356 \344\240\251\253\256\242 ReactOS.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1426,7 +1460,7 @@ static MUI_ENTRY ruRURegistryEntries[] =
     {
         6,
         8,
-        "\217\340\256\243\340\240\254\254\240 \343\341\342\240\255\256\242\252\250 \256\241\255\256\242\253\357\245\342 \252\256\255\344\250\243\343\340\240\346\250\356 \341\250\341\342\245\254\353. ",
+        "\217\340\256\243\340\240\254\254\240 \343\341\342\240\255\256\242\252\250 \256\241\255\256\242\253\357\245\342 \252\256\255\344\250\243\343\340\240\346\250\356 \341\250\341\342\245\254\353.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1690,6 +1724,10 @@ MUI_ERROR ruRUErrorEntries[] =
 
 MUI_PAGE ruRUPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        ruRUSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         ruRULanguagePageEntries
index 945fcbe..ccca6f3 100644 (file)
@@ -9,12 +9,46 @@
 
 #pragma once
 
+static MUI_ENTRY skSKSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " In\347tal\240tor syst\202mu ReactOS " KERNEL_VERSION_STR " ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY skSKLanguagePageEntries[] =
 {
     {
         4,
         3,
-         " In\347tal\240tor syst\202mu ReactOS " KERNEL_VERSION_STR " ",
+        " In\347tal\240tor syst\202mu ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -60,7 +94,7 @@ static MUI_ENTRY skSKWelcomePageEntries[] =
     {
         4,
         3,
-         " In\347tal\240tor syst\202mu ReactOS " KERNEL_VERSION_STR " ",
+        " In\347tal\240tor syst\202mu ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -136,7 +170,7 @@ static MUI_ENTRY skSKIntroPageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " In\347tal\240tor syst\202mu ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -487,7 +521,7 @@ static MUI_ENTRY skSKUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " In\347tal\240tor syst\202mu ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -615,19 +649,19 @@ static MUI_ENTRY skSKFlushPageEntries[] =
     {
         10,
         6,
-        "Syst\202m pr\240ve overuje v\347etky ulo\247en\202 \243daje na Va\347om disku",
+        "Syst\202m pr\240ve overuje v\347etky ulo\247en\202 \243daje na Va\347om disku.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         8,
-        "To m\223\247e trva\234 nieko\226ko min\243t",
+        "To m\223\247e trva\234 nieko\226ko min\243t.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         9,
-        "Ke\324 skon\237\241, po\237\241ta\237 sa automaticky re\347tartuje",
+        "Ke\324 skon\237\241, po\237\241ta\237 sa automaticky re\347tartuje.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -655,7 +689,7 @@ static MUI_ENTRY skSKQuitPageEntries[] =
     {
         10,
         6,
-        "Syst\202m ReactOS nie je nain\347talovan\354 kompletne",
+        "Syst\202m ReactOS nie je nain\347talovan\354 kompletne.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -679,7 +713,7 @@ static MUI_ENTRY skSKQuitPageEntries[] =
     {
         0,
         0,
-        "Po\237kajte, pros\241m ...",
+        "Po\237kajte, pros\241m...",
         TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
     },
     {
@@ -894,7 +928,7 @@ static MUI_ENTRY skSKSelectPartitionEntries[] =
     {
         0,
         0,
-        "Po\237kajte, pros\241m ...",
+        "Po\237kajte, pros\241m...",
         TEXT_TYPE_STATUS | TEXT_PADDING_BIG
     },
     {
@@ -1293,7 +1327,7 @@ static MUI_ENTRY skSKPrepareCopyEntries[] =
     {
         6,
         8,
-        "Pripravuje sa kop\241rovanie s\243borov syst\202mu ReactOS. ",
+        "Pripravuje sa kop\241rovanie s\243borov syst\202mu ReactOS.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1682,6 +1716,10 @@ MUI_ERROR skSKErrorEntries[] =
 
 MUI_PAGE skSKPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        skSKSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         skSKLanguagePageEntries
index 20a60de..6c46b3d 100644 (file)
@@ -7,6 +7,40 @@
 
 #pragma once
 
+static MUI_ENTRY sqALSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " Instalimi i ReactOS " KERNEL_VERSION_STR " ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY sqALLanguagePageEntries[] =
 {
     {
@@ -134,7 +168,7 @@ static MUI_ENTRY sqALIntroPageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " Instalimi i ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -485,7 +519,7 @@ static MUI_ENTRY sqALUpgradePageEntries[] =
     {
         4,
         3,
-        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        " Instalimi i ReactOS " KERNEL_VERSION_STR " ",
         TEXT_STYLE_UNDERLINE
     },
     {
@@ -613,19 +647,19 @@ static MUI_ENTRY sqALFlushPageEntries[] =
     {
         10,
         6,
-        "Sistemi \211sht\211 tani duke u siguruar t\211 gjitha te dh\211nat jan\211 ruajtur n\211 diskun tuaj",
+        "Sistemi \211sht\211 tani duke u siguruar t\211 gjitha te dh\211nat jan\211 ruajtur n\211 diskun tuaj.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         8,
-        "Kjo mund te marr\211 nje minut\211",
+        "Kjo mund te marr\211 nje minut\211.",
         TEXT_STYLE_NORMAL
     },
     {
         10,
         9,
-        "Kur te p\211rfundoi, kompjuteri juaj do t\211 riniset automatikisht",
+        "Kur te p\211rfundoi, kompjuteri juaj do t\211 riniset automatikisht.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -653,7 +687,7 @@ static MUI_ENTRY sqALQuitPageEntries[] =
     {
         10,
         6,
-        "ReactOS nuk \211sht\211 instaluar plot\211sisht",
+        "ReactOS nuk \211sht\211 instaluar plot\211sisht.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -677,7 +711,7 @@ static MUI_ENTRY sqALQuitPageEntries[] =
     {
         0,
         0,
-        "Ju lutem prisni ...",
+        "Ju lutem prisni...",
         TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
     },
     {
@@ -1291,7 +1325,7 @@ static MUI_ENTRY sqALPrepareCopyEntries[] =
     {
         6,
         8,
-        "Instalimi pergatit kompjuterin tuaj p\211r kopjimin e dokumentave t\211 ReactOS. ",
+        "Instalimi pergatit kompjuterin tuaj p\211r kopjimin e dokumentave t\211 ReactOS.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1413,7 +1447,7 @@ static MUI_ENTRY sqALRegistryEntries[] =
     {
         6,
         8,
-        "Instalimi po apdejton sistemin e konfigurimit. ",
+        "Instalimi po apdejton sistemin e konfigurimit.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1683,6 +1717,10 @@ MUI_ERROR sqALErrorEntries[] =
 
 MUI_PAGE sqALPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        sqALSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         sqALLanguagePageEntries
index 81faf01..571c8d8 100644 (file)
@@ -9,6 +9,40 @@
  */
 #pragma once
 
+static MUI_ENTRY svSESetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " ReactOS " KERNEL_VERSION_STR " Setup ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY svSELanguagePageEntries[] =
 {
     {
@@ -679,7 +713,7 @@ static MUI_ENTRY svSEQuitPageEntries[] =
     {
         0,
         0,
-        "   Var god v\204nta ...",
+        "   Var god v\204nta...",
         TEXT_TYPE_STATUS,
     },
     {
@@ -1293,7 +1327,7 @@ static MUI_ENTRY svSEPrepareCopyEntries[] =
     {
         6,
         8,
-        "Setup f\224rbereder din dator f\224r kopiering av ReactOS filer. ",
+        "Setup f\224rbereder din dator f\224r kopiering av ReactOS filer.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1415,7 +1449,7 @@ static MUI_ENTRY svSERegistryEntries[] =
     {
         6,
         8,
-        "Setup uppdaterar systemkonfigurationen. ",
+        "Setup uppdaterar systemkonfigurationen.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1679,6 +1713,10 @@ MUI_ERROR svSEErrorEntries[] =
 
 MUI_PAGE svSEPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        svSESetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         svSELanguagePageEntries
index 65bbac3..87608ce 100644 (file)
@@ -5,6 +5,40 @@
 
 #pragma once
 
+static MUI_ENTRY trTRSetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " ReactOS " KERNEL_VERSION_STR " Kur ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY trTRLanguagePageEntries[] =
 {
     {
@@ -1651,6 +1685,10 @@ MUI_ERROR trTRErrorEntries[] =
 
 MUI_PAGE trTRPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        trTRSetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         trTRLanguagePageEntries
index e2c059d..e24f201 100644 (file)
@@ -8,6 +8,40 @@
 
 #pragma once
 
+static MUI_ENTRY ukUASetupInitPageEntries[] =
+{
+    {
+        4,
+        3,
+        " \202\341\342\240\255\256\242\253\245\255\255\357 ReactOS " KERNEL_VERSION_STR " ",
+        TEXT_STYLE_UNDERLINE
+    },
+    {
+        0,
+        20,
+        "Please wait while the ReactOS Setup initializes itself",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        21,
+        "and discovers your devices...",
+        TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER
+    },
+    {
+        0,
+        0,
+        "Please wait...",
+        TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
+    },
+    {
+        0,
+        0,
+        NULL,
+        0
+    }
+};
+
 static MUI_ENTRY ukUALanguagePageEntries[] =
 {
     {
@@ -963,7 +997,7 @@ static MUI_ENTRY ukUAConfirmDeleteSystemPartitionEntries[] =
     {
         8,
         20,
-        "\x07  \215\240\342\250\341\255i\342\354 ENTER \351\256\241 \242\250\244\240\253\250\342\250 \341\250\341\342\245\254\255\250\251 \340\256\247\244i\253. ",
+        "\x07  \215\240\342\250\341\255i\342\354 ENTER \351\256\241 \242\250\244\240\253\250\342\250 \341\250\341\342\245\254\255\250\251 \340\256\247\244i\253.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1292,7 +1326,7 @@ static MUI_ENTRY ukUAPrepareCopyEntries[] =
     {
         6,
         8,
-        "\202\341\342\240\255\256\242\253\356\242\240\347 \243\256\342\343\363 \202\240\350 \252\256\254\257'\356\342\245\340 \244\253\357 \252\256\257i\356\242\240\255\255\357 \344\240\251\253i\242 ReactOS. ",
+        "\202\341\342\240\255\256\242\253\356\242\240\347 \243\256\342\343\363 \202\240\350 \252\256\254\257'\356\342\245\340 \244\253\357 \252\256\257i\356\242\240\255\255\357 \344\240\251\253i\242 ReactOS.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1414,7 +1448,7 @@ static MUI_ENTRY ukUARegistryEntries[] =
     {
         6,
         8,
-        "\202\341\342\240\255\256\242\253\356\242\240\347 \256\255\256\242\253\356\363 \252\256\255\344i\243\343\340\240\346i\356 \341\250\341\342\245\254\250. ",
+        "\202\341\342\240\255\256\242\253\356\242\240\347 \256\255\256\242\253\356\363 \252\256\255\344i\243\343\340\240\346i\356 \341\250\341\342\245\254\250.",
         TEXT_STYLE_NORMAL
     },
     {
@@ -1679,6 +1713,10 @@ MUI_ERROR ukUAErrorEntries[] =
 
 MUI_PAGE ukUAPages[] =
 {
+    {
+        SETUP_INIT_PAGE,
+        ukUASetupInitPageEntries
+    },
     {
         LANGUAGE_PAGE,
         ukUALanguagePageEntries
index eaf6d9a..7be0ff9 100644 (file)
@@ -31,6 +31,7 @@
 #include "bootsup.h"
 #include "chkdsk.h"
 #include "cmdcons.h"
+#include "devinst.h"
 #include "format.h"
 
 #define NDEBUG
@@ -56,8 +57,6 @@ static WCHAR DefaultKBLayout[20];   // Copy of string inside KeyboardList
 
 static BOOLEAN RepairUpdateFlag = FALSE;
 
-static HANDLE hPnpThread = NULL;
-
 static PPARTLIST PartitionList = NULL;
 static PPARTENTRY TempPartition = NULL;
 static PFILE_SYSTEM_LIST FileSystemList = NULL;
@@ -633,7 +632,7 @@ SetupStartPage(PINPUT_RECORD Ir)
     PGENERIC_LIST_ENTRY ListEntry;
     PCWSTR LocaleId;
 
-    CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT));
+    MUIDisplayPage(SETUP_INIT_PAGE);
 
     /* Initialize Setup, phase 1 */
     Error = InitializeSetup(&USetupData, 1);
@@ -643,12 +642,13 @@ SetupStartPage(PINPUT_RECORD Ir)
         return QUIT_PAGE;
     }
 
-    /* Start the PnP thread */
-    if (hPnpThread != NULL)
-    {
-        NtResumeThread(hPnpThread, NULL);
-        hPnpThread = NULL;
-    }
+    /* Initialize the user-mode PnP manager */
+    if (!EnableUserModePnpManager())
+        DPRINT1("The user-mode PnP manager could not initialize, expect unavailable devices!\n");
+
+    /* Wait for any immediate pending installations to finish */
+    if (WaitNoPendingInstallEvents(NULL) != STATUS_WAIT_0)
+        DPRINT1("WaitNoPendingInstallEvents() failed to wait!\n");
 
     CheckUnattendedSetup(&USetupData);
 
@@ -4493,10 +4493,6 @@ FlushPage(PINPUT_RECORD Ir)
 }
 
 
-DWORD WINAPI
-PnpEventThread(IN LPVOID lpParameter);
-
-
 /*
  * The start routine and page management
  */
@@ -4515,19 +4511,13 @@ RunUSetup(VOID)
     if (!NT_SUCCESS(Status))
         DPRINT1("NtInitializeRegistry() failed (Status 0x%08lx)\n", Status);
 
-    /* Create the PnP thread in suspended state */
-    Status = RtlCreateUserThread(NtCurrentProcess(),
-                                 NULL,
-                                 TRUE,
-                                 0,
-                                 0,
-                                 0,
-                                 PnpEventThread,
-                                 &USetupData.SetupInf,
-                                 &hPnpThread,
-                                 NULL);
+    /* Initialize the user-mode PnP manager */
+    Status = InitializeUserModePnpManager(&USetupData.SetupInf);
     if (!NT_SUCCESS(Status))
-        hPnpThread = NULL;
+    {
+        // PrintString(??);
+        DPRINT1("The user-mode PnP manager could not initialize (Status 0x%08lx), expect unavailable devices!\n", Status);
+    }
 
     if (!CONSOLE_Init())
     {
@@ -4543,12 +4533,12 @@ RunUSetup(VOID)
     InitializeSetup(&USetupData, 0);
     USetupData.ErrorRoutine = USetupErrorRoutine;
 
-    /* Hide the cursor */
+    /* Hide the cursor and clear the screen and keyboard buffer */
     CONSOLE_SetCursorType(TRUE, FALSE);
-
-    /* Global Initialization page */
     CONSOLE_ClearScreen();
     CONSOLE_Flush();
+
+    /* Global Initialization page */
     Page = SetupStartPage(&Ir);
 
     while (Page != REBOOT_PAGE && Page != RECOVERY_PAGE)
@@ -4706,6 +4696,9 @@ RunUSetup(VOID)
         }
     }
 
+    /* Terminate the user-mode PnP manager */
+    TerminateUserModePnpManager();
+
     /* Setup has finished */
     FinishSetup(&USetupData);
 
index ef2fc1e..e65bc33 100644 (file)
@@ -75,6 +75,7 @@ extern PCWSTR SelectedLanguageId;
 
 typedef enum _PAGE_NUMBER
 {
+    SETUP_INIT_PAGE,
     LANGUAGE_PAGE,
     WELCOME_PAGE,
     LICENSE_PAGE,