Add a corresponding please-wait page and update the translations.
/*
* 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)
{
return TRUE;
}
-BOOLEAN
+static BOOLEAN
InstallDriver(
IN HINF hInf,
IN HANDLE hServices,
return deviceInstalled;
}
-VOID
+static VOID
InstallDevice(
IN HINF hInf,
IN HANDLE hEnum,
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)
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 */
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;
}
--- /dev/null
+/*
+ * 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);
// 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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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
},
{
MUI_PAGE bgBGPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ bgBGSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
bgBGLanguagePageEntries
#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[] =
{
{
{
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
},
{
{
10,
6,
- "ReactOS is not completely installed",
+ "ReactOS is not completely installed.",
TEXT_STYLE_NORMAL
},
{
{
0,
0,
- "Please wait ...",
+ "Please wait...",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
},
{
{
6,
8,
- "Setup prepares your computer for copying the ReactOS files. ",
+ "Setup prepares your computer for copying the ReactOS files.",
TEXT_STYLE_NORMAL
},
{
{
6,
8,
- "Setup is updating the system configuration. ",
+ "Setup is updating the system configuration.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE bnBDPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ bnBDSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
bnBDLanguagePageEntries
#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[] =
{
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " Instalace ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " Instalace ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
{
10,
6,
- "ReactOS nen\241 kompletn\330 nainstalov\240n",
+ "ReactOS nen\241 kompletn\330 nainstalov\240n.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE csCZPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ csCZSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
csCZLanguagePageEntries
// 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[] =
{
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " ReactOS " KERNEL_VERSION_STR " installationen ",
TEXT_STYLE_UNDERLINE
},
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " ReactOS " KERNEL_VERSION_STR " installationen ",
TEXT_STYLE_UNDERLINE
},
{
{
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
},
{
{
10,
6,
- "ReactOS er ikke blevet helt installeret",
+ "ReactOS er ikke blevet helt installeret.",
TEXT_STYLE_NORMAL
},
{
{
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
},
{
{
6,
8,
- "Installationen opdatere systemkonfigurationen. ",
+ "Installationen opdatere systemkonfigurationen.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE daDKPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ daDKSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
daDKLanguagePageEntries
// 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[] =
{
{
{
10,
6,
- "Die geschrieben Daten werden \201berpr\201ft",
+ "Die geschrieben Daten werden \201berpr\201ft.",
TEXT_STYLE_NORMAL
},
{
{
10,
6,
- "ReactOS wurde nicht vollst\204ndig installiert",
+ "ReactOS wurde nicht vollst\204ndig installiert.",
TEXT_STYLE_NORMAL
},
{
{
0,
0,
- "Bitte warten ...",
+ "Bitte warten...",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
{
6,
8,
- "Systemkonfiguration wird aktualisiert. ",
+ "Systemkonfiguration wird aktualisiert.",
TEXT_STYLE_HIGHLIGHT
},
{
MUI_PAGE deDEPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ deDESetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
deDELanguagePageEntries
// 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[] =
{
{
{
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
},
{
{
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
},
{
{
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
},
{
{
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,
},
{
{
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
},
{
{
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
},
{
MUI_PAGE elGRPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ elGRSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
elGRLanguagePageEntries
#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[] =
{
{
{
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
},
{
{
10,
6,
- "ReactOS is not completely installed",
+ "ReactOS is not completely installed.",
TEXT_STYLE_NORMAL
},
{
{
0,
0,
- "Please wait ...",
+ "Please wait...",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
},
{
{
6,
8,
- "Setup prepares your computer for copying the ReactOS files. ",
+ "Setup prepares your computer for copying the ReactOS files.",
TEXT_STYLE_NORMAL
},
{
{
6,
8,
- "Setup is updating the system configuration. ",
+ "Setup is updating the system configuration.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE enUSPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ enUSSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
enUSLanguagePageEntries
#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[] =
{
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " Instalaci\242n de ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " Instalaci\242n de ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
{
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
},
{
{
10,
6,
- "ReactOS no ha sido instalado completamente",
+ "ReactOS no ha sido instalado completamente.",
TEXT_STYLE_NORMAL
},
{
{
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
},
{
{
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
},
{
{
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
},
{
MUI_PAGE esESPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ esESSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
esESLanguagePageEntries
// 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[] =
{
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " ReactOS " KERNEL_VERSION_STR " paigaldus ",
TEXT_STYLE_UNDERLINE
},
{
{
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
},
{
{
10,
6,
- "ReactOS ei ole t\204ielikult paigaldatud",
+ "ReactOS ei ole t\204ielikult paigaldatud.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE etEEPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ etEESetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
etEELanguagePageEntries
// 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[] =
{
{
{
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
},
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " Installation de ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
{
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
},
{
{
10,
6,
- "ReactOS n'est pas compl\212tement install\202",
+ "ReactOS n'est pas compl\212tement install\202.",
TEXT_STYLE_NORMAL
},
{
{
0,
0,
- "Veuillez attendre ...",
+ "Veuillez patienter...",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
{
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
},
{
{
6,
8,
- "Setup met \205 jour la configuration du syst\212me. ",
+ "Setup met \205 jour la configuration du syst\212me.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE frFRPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ frFRSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
frFRLanguagePageEntries
#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[] =
{
{
{
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
},
{
MUI_PAGE heILPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ heILSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
heILLanguagePageEntries
#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[] =
{
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " Installazione di ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
{
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
},
{
{
10,
6,
- "ReactOS non \x8A stato installato completamente",
+ "ReactOS non \x8A stato installato completamente.",
TEXT_STYLE_NORMAL
},
{
{
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
},
{
{
6,
8,
- "Setup sta aggiornando la configurazione del sistema. ",
+ "Setup sta aggiornando la configurazione del sistema.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE itITPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ itITSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
itITLanguagePageEntries
// 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[] =
{
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " ReactOS " KERNEL_VERSION_STR " \276\257\304\261\257\314\337 ",
TEXT_STYLE_UNDERLINE
},
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " ReactOS " KERNEL_VERSION_STR " \276\257\304\261\257\314\337 ",
TEXT_STYLE_UNDERLINE
},
{
{
0,
0,
- "\265\317\301 \270\300\336\273\262 ...",
+ "\265\317\301 \270\300\336\273\262...",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
},
{
MUI_PAGE jaJPPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ jaJPSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
jaJPLanguagePageEntries
#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[] =
{
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " ReactOS " KERNEL_VERSION_STR " diegimo programa ",
TEXT_STYLE_UNDERLINE
},
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " ReactOS " KERNEL_VERSION_STR " diegimo programa ",
TEXT_STYLE_UNDERLINE
},
{
{
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
},
{
{
10,
6,
- "ReactOS is not completely installed",
+ "ReactOS is not completely installed.",
TEXT_STYLE_NORMAL
},
{
{
6,
8,
- "Setup prepares your computer for copying the ReactOS files. ",
+ "Setup prepares your computer for copying the ReactOS files.",
TEXT_STYLE_NORMAL
},
{
{
6,
8,
- "Setup is updating the system configuration. ",
+ "Setup is updating the system configuration.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE ltLTPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ ltLTSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
ltLTLanguagePageEntries
#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[] =
{
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " ReactOS " KERNEL_VERSION_STR " Persediaan ",
TEXT_STYLE_UNDERLINE
},
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " ReactOS " KERNEL_VERSION_STR " Persediaan ",
TEXT_STYLE_UNDERLINE
},
{
{
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
},
{
{
10,
6,
- "ReactOS tidak dipasang sepenuhnya",
+ "ReactOS tidak dipasang sepenuhnya.",
TEXT_STYLE_NORMAL
},
{
{
6,
8,
- "Persediaan menyediakan komputer awda untuk menyalin fail-fail ReactOS. ",
+ "Persediaan menyediakan komputer awda untuk menyalin fail-fail ReactOS.",
TEXT_STYLE_NORMAL
},
{
{
6,
8,
- "Persediaan sedang mengemaskini konfigurasi sistem. ",
+ "Persediaan sedang mengemaskini konfigurasi sistem.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE msMYPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ msMYSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
msMYLanguagePageEntries
#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[] =
{
{
{
50,
0,
- "\xB3 Een ogenblik geduld ...",
+ "\xB3 Een ogenblik geduld...",
TEXT_TYPE_STATUS
},
{
MUI_PAGE nlNLPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ nlNLSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
nlNLLanguagePageEntries
#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[] =
{
{
{
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
},
{
{
0,
0,
- "Prosz\251 czeka\206 ...",
+ "Prosz\251 czeka\206...",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
},
{
{
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
},
{
{
6,
8,
- "Instalator uaktualnia w\210a\230nie konfiguracj\251 systemu. ",
+ "Instalator uaktualnia w\210a\230nie konfiguracj\251 systemu.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE plPLPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ plPLSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
plPLLanguagePageEntries
// 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[] =
{
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " Instala\207\306o do ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " Instala\207\306o do ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
MUI_PAGE ptBRPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ ptBRSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
ptBRLanguagePageEntries
/* ª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[] =
{
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " Instalare ReactOS " KERNEL_VERSION_STR,
TEXT_STYLE_UNDERLINE
},
{
MUI_PAGE roROPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ roROSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
roROLanguagePageEntries
// 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[] =
{
{
{
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
},
{
{
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
},
{
MUI_PAGE ruRUPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ ruRUSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
ruRULanguagePageEntries
#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
},
{
{
4,
3,
- " In\347tal\240tor syst\202mu ReactOS " KERNEL_VERSION_STR " ",
+ " In\347tal\240tor syst\202mu ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " In\347tal\240tor syst\202mu ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " In\347tal\240tor syst\202mu ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
{
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
},
{
{
10,
6,
- "Syst\202m ReactOS nie je nain\347talovan\354 kompletne",
+ "Syst\202m ReactOS nie je nain\347talovan\354 kompletne.",
TEXT_STYLE_NORMAL
},
{
{
0,
0,
- "Po\237kajte, pros\241m ...",
+ "Po\237kajte, pros\241m...",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
},
{
{
0,
0,
- "Po\237kajte, pros\241m ...",
+ "Po\237kajte, pros\241m...",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG
},
{
{
6,
8,
- "Pripravuje sa kop\241rovanie s\243borov syst\202mu ReactOS. ",
+ "Pripravuje sa kop\241rovanie s\243borov syst\202mu ReactOS.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE skSKPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ skSKSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
skSKLanguagePageEntries
#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[] =
{
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " Instalimi i ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
{
4,
3,
- " ReactOS " KERNEL_VERSION_STR " Setup ",
+ " Instalimi i ReactOS " KERNEL_VERSION_STR " ",
TEXT_STYLE_UNDERLINE
},
{
{
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
},
{
{
10,
6,
- "ReactOS nuk \211sht\211 instaluar plot\211sisht",
+ "ReactOS nuk \211sht\211 instaluar plot\211sisht.",
TEXT_STYLE_NORMAL
},
{
{
0,
0,
- "Ju lutem prisni ...",
+ "Ju lutem prisni...",
TEXT_TYPE_STATUS | TEXT_PADDING_BIG,
},
{
{
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
},
{
{
6,
8,
- "Instalimi po apdejton sistemin e konfigurimit. ",
+ "Instalimi po apdejton sistemin e konfigurimit.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE sqALPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ sqALSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
sqALLanguagePageEntries
*/
#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[] =
{
{
{
0,
0,
- " Var god v\204nta ...",
+ " Var god v\204nta...",
TEXT_TYPE_STATUS,
},
{
{
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
},
{
{
6,
8,
- "Setup uppdaterar systemkonfigurationen. ",
+ "Setup uppdaterar systemkonfigurationen.",
TEXT_STYLE_NORMAL
},
{
MUI_PAGE svSEPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ svSESetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
svSELanguagePageEntries
#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[] =
{
{
MUI_PAGE trTRPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ trTRSetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
trTRLanguagePageEntries
#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[] =
{
{
{
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
},
{
{
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
},
{
{
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
},
{
MUI_PAGE ukUAPages[] =
{
+ {
+ SETUP_INIT_PAGE,
+ ukUASetupInitPageEntries
+ },
{
LANGUAGE_PAGE,
ukUALanguagePageEntries
#include "bootsup.h"
#include "chkdsk.h"
#include "cmdcons.h"
+#include "devinst.h"
#include "format.h"
#define NDEBUG
static BOOLEAN RepairUpdateFlag = FALSE;
-static HANDLE hPnpThread = NULL;
-
static PPARTLIST PartitionList = NULL;
static PPARTENTRY TempPartition = NULL;
static PFILE_SYSTEM_LIST FileSystemList = NULL;
PGENERIC_LIST_ENTRY ListEntry;
PCWSTR LocaleId;
- CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT));
+ MUIDisplayPage(SETUP_INIT_PAGE);
/* Initialize Setup, phase 1 */
Error = InitializeSetup(&USetupData, 1);
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);
}
-DWORD WINAPI
-PnpEventThread(IN LPVOID lpParameter);
-
-
/*
* The start routine and page management
*/
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())
{
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)
}
}
+ /* Terminate the user-mode PnP manager */
+ TerminateUserModePnpManager();
+
/* Setup has finished */
FinishSetup(&USetupData);
typedef enum _PAGE_NUMBER
{
+ SETUP_INIT_PAGE,
LANGUAGE_PAGE,
WELCOME_PAGE,
LICENSE_PAGE,