128 HRSRC GplTextResource;
139 if (
NULL == GplTextResource)
154 if (
NULL == GplTextMem)
160 if (
NULL == GplTextLocked)
166 GplText[
Size] =
'\0';
230 (
WPARAM)pSetupData->hTitleFont,
283 PWCHAR End, CurrentProject;
284 INT ProjectsSize, ProjectsCount;
301 if (
NULL == Projects)
306 if (0 == ProjectsCount)
311 if (ProjectsCount < ProjectsSize - 1)
319 CurrentProject = Projects;
320 while (*CurrentProject !=
L'\0')
322 End =
wcschr(CurrentProject,
L'\n');
330 CurrentProject = End + 1;
334 CurrentProject +=
wcslen(CurrentProject);
400 {
L"Terminal Server\0",
L"ServerNT", 0, 0x200, 0 },
401 {
L"\0",
L"WinNT", 1, 0x300, 1 }
406 {
L".Default",
L"%SystemRoot%\\Media\\ReactOS_Default.wav" },
407 {
L"AppGPFault",
L"" },
409 {
L"CriticalBatteryAlarm",
L"%SystemRoot%\\Media\\ReactOS_Battery_Critical.wav" },
410 {
L"DeviceConnect",
L"%SystemRoot%\\Media\\ReactOS_Hardware_Insert.wav" },
411 {
L"DeviceDisconnect",
L"%SystemRoot%\\Media\\ReactOS_Hardware_Remove.wav" },
412 {
L"DeviceFail",
L"%SystemRoot%\\Media\\ReactOS_Hardware_Fail.wav" },
413 {
L"LowBatteryAlarm",
L"%SystemRoot%\\Media\\ReactOS_Battery_Low.wav" },
414 {
L"MailBeep",
L"%SystemRoot%\\Media\\ReactOS_Notify.wav" },
415 {
L"Maximize",
L"%SystemRoot%\\Media\\ReactOS_Restore.wav" },
416 {
L"MenuCommand",
L"%SystemRoot%\\Media\\ReactOS_Menu_Command.wav" },
417 {
L"MenuPopup",
L"" },
418 {
L"Minimize",
L"%SystemRoot%\\Media\\ReactOS_Minimize.wav" },
420 {
L"PrintComplete",
L"%SystemRoot%\\Media\\ReactOS_Print_Complete.wav" },
421 {
L"RestoreDown",
L"" },
422 {
L"RestoreUp",
L"" },
423 {
L"SystemAsterisk",
L"%SystemRoot%\\Media\\ReactOS_Ding.wav" },
424 {
L"SystemExclamation",
L"%SystemRoot%\\Media\\ReactOS_Exclamation.wav" },
425 {
L"SystemExit",
L"%SystemRoot%\\Media\\ReactOS_Shutdown.wav" },
426 {
L"SystemHand",
L"%SystemRoot%\\Media\\ReactOS_Critical_Stop.wav" },
427 {
L"SystemNotification",
L"%SystemRoot%\\Media\\ReactOS_Balloon.wav" },
428 {
L"SystemQuestion",
L"%SystemRoot%\\Media\\ReactOS_Ding.wav" },
429 {
L"SystemStart",
L"%SystemRoot%\\Media\\ReactOS_Startup.wav" },
430 {
L"WindowsLogoff",
L"%SystemRoot%\\Media\\ReactOS_LogOff.wav" }
436 {
L"EmptyRecycleBin",
L"%SystemRoot%\\Media\\ReactOS_Recycle.wav" },
437 {
L"Navigating",
L"%SystemRoot%\\Media\\ReactOS_Start.wav" }
446 HKEY hRootKey, hEventKey, hDefaultKey;
457 DPRINT1(
"RegOpenKeyExW failed\n");
529 DWORD dwValue, cbData;
537 DPRINT1(
"RegOpenKeyExW failed\n");
542 pszData =
pData->ProductSuite;
547 DPRINT1(
"RegSetValueExW failed\n");
552 pszData =
pData->ProductType;
557 DPRINT1(
"RegSetValueExW failed\n");
567 DPRINT1(
"RegOpenKeyExW failed\n");
572 dwValue =
pData->ReportAsWorkstation;
573 cbData =
sizeof(dwValue);
577 DPRINT1(
"RegSetValueExW failed\n");
587 DPRINT1(
"RegOpenKeyExW failed\n");
592 dwValue =
pData->CSDVersion;
593 cbData =
sizeof(dwValue);
597 DPRINT1(
"RegSetValueExW failed\n");
607 DPRINT1(
"RegOpenKeyExW failed\n");
612 dwValue =
pData->LogonType;
613 cbData =
sizeof(dwValue);
617 DPRINT1(
"RegSetValueExW failed\n");
664 WCHAR szText[64], szDefault[64];
754 WCHAR * OwnerOrganization)
760 L"Software\\Microsoft\\Windows NT\\CurrentVersion",
784 L"RegisteredOrganization",
787 (
LPBYTE)OwnerOrganization,
801 WCHAR OwnerOrganization[51];
803 WCHAR ErrorName[256];
865 wcscpy(ErrorName,
L"Setup cannot continue until you enter your name.");
875 OwnerOrganization[0] = 0;
907 WCHAR ErrorComputerName[256];
922 wcscpy(ErrorComputerName,
L"Setup failed to set the computer name.");
941 L"SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters",
947 DPRINT1(
"RegOpenKeyExW for Tcpip\\Parameters failed (%08lX)\n", lError);
959 DPRINT1(
"RegSetValueEx(\"Hostname\") failed (%08lX)\n", lError);
972 WCHAR szAdministratorName[256];
981 wcscpy(szAdministratorName,
L"Administrator");
985 L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon",
993 L"DefaultDomainName",
1000 DPRINT1(
"RegSetValueEx(\"DefaultDomainName\") failed!\n");
1007 (
LPBYTE)szAdministratorName,
1008 (
wcslen(szAdministratorName)+ 1) *
sizeof(
WCHAR));
1011 DPRINT1(
"RegSetValueEx(\"DefaultUserName\") failed!\n");
1024 static const WCHAR Chars[] =
L"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
1025 static const unsigned cChars =
sizeof(Chars) /
sizeof(
WCHAR) - 1;
1033 for (
i = 8;
i < 15;
i++)
1046 WCHAR Password1[128];
1047 WCHAR Password2[128];
1050 WCHAR EmptyComputerName[256], NotMatchPassword[256], WrongPassword[256];
1080 if (pSetupData->UnattendSetup)
1116 wcscpy(EmptyComputerName,
L"Setup cannot continue until you enter the name of your computer.");
1134#ifdef PASSWORDS_MANDATORY
1142 wcscpy(EmptyPassword,
L"You must enter a password !");
1153 if (
wcscmp(Password1, Password2))
1158 wcscpy(NotMatchPassword,
L"The passwords you entered do not match. Please enter the desired password again.");
1174 wcscpy(WrongPassword,
L"The password you entered contains invalid characters. Please enter a cleaned password.");
1188 pSetupData->UnattendSetup =
FALSE;
1208 WCHAR CurLocale[256] =
L"";
1210 WCHAR ResText[256] =
L"";
1211 WCHAR LocaleText[256 * 2];
1227 WCHAR LayoutPath[256];
1229 WCHAR SpecialId[5] =
L"";
1230 WCHAR ResText[256] =
L"";
1245 LayoutSpecial =
TRUE;
1248#define MAX_LAYOUTS_PER_LANGID 0x10000
1267 if (!LayoutSpecial ||
1295#undef MAX_LAYOUTS_PER_LANGID
1313 if (!pwszCPLParameters)
1319 ZeroMemory(&StartupInfo,
sizeof(StartupInfo));
1320 StartupInfo.
cb =
sizeof(StartupInfo);
1321 ZeroMemory(&ProcessInformation,
sizeof(ProcessInformation));
1335 &ProcessInformation))
1497 ULONG DescriptionSize;
1498 ULONG StandardNameSize;
1499 ULONG DaylightNameSize;
1507 DescriptionSize =
sizeof(
Entry->Description);
1508 StandardNameSize =
sizeof(
Entry->StandardName);
1509 DaylightNameSize =
sizeof(
Entry->DaylightName);
1513 &
Entry->TimezoneInfo,
1516 Entry->StandardName,
1518 Entry->DaylightName,
1537 if (Current !=
NULL)
1551 Entry->Next = Current;
1614 if (dwEntryIndex != 0 && dwEntryIndex ==
Entry->Index)
1652 Entry->StandardName);
1654 Entry->DaylightName);
1656 TimeZoneInformation.
Bias =
Entry->TimezoneInfo.Bias;
1661 &
Entry->TimezoneInfo.StandardDate,
1664 &
Entry->TimezoneInfo.DaylightDate,
1728 WCHAR ErrorLocalTime[256];
1745 wcscpy(ErrorLocalTime,
L"Setup was unable to set the local time.");
1907 WCHAR DisplayName[100] = {0};
1919 lvi.pszText = DisplayName;
1940 int iTheme = pnmv->
iItem;
1941 DPRINT1(
"Selected theme: %u\n",
Themes[iTheme].DisplayName);
1943 if (
Themes[iTheme].ThemeFile)
1945 WCHAR wszParams[1024];
1947 WCHAR*
format =
L"desk.cpl,,2 /Action:ActivateMSTheme /file:\"%s\"";
2016 DPRINT(
"Received SPFILENOTIFY_STARTREGISTRATION notification for %S\n",
2025 DPRINT(
"Received SPFILENOTIFY_ENDREGISTRATION notification for %S\n",
2090 WCHAR SectionName[512];
2096 RegistrationData.
hwndDlg = pItemsData->hwndDlg;
2102 DPRINT1(
"No RegistrationPhase2 section found\n");
2110 DPRINT1(
"Unable to retrieve section name\n");
2115 DPRINT(
"SectionName %S DllCount %ld\n", SectionName, DllCount);
2123 RegistrationData.
pNotify = pNotify;
2129 L"RegistrationPhase2",
2144 DPRINT(
"Catching exception\n");
2159 WCHAR SectionName[512];
2171 DPRINT1(
"No RegistrationPhase2 section found\n");
2179 DPRINT1(
"Unable to retrieve section name\n");
2189 DPRINT(
"Register Components: %ld Steps\n", Steps);
2197 DPRINT(
"Register Components: done\n");
2212 hwndDlg = pItemsData->
hwndDlg;
2240 HANDLE hCompletionThread;
2244 if (pItemsData ==
NULL)
2247 pItemsData->
hwndDlg = hwndDlg;
2255 if (hCompletionThread ==
NULL)
2275 WCHAR UnknownError[84];
2285 wcscpy(UnknownError,
L"Unknown error");
2288 _ultow(LastError, UnknownError +
wcslen(UnknownError), 10);
2415 DPRINT(
"PM_STEP_START\n");
2432 DPRINT(
"PM_ITEMS_DONE\n");
2450 DWORD InProgress = 0;
2464 L"Software\\Microsoft\\Windows NT\\CurrentVersion",
2580 WCHAR wszDrives[512];
2581 WCHAR wszNTPath[512];
2588 if (cchDrives == 0 || cchDrives >=
_countof(wszDrives))
2595 for (pwszDrive = wszDrives; *pwszDrive; pwszDrive +=
wcslen(pwszDrive) + 1)
2602 pwszDrive[2] =
L'\\';
2607 wsprintf(wszBuf,
L"Testing '%s' --> '%s' %s a CD",
2608 pwszDrive, wszNTPath,
2613 if (!
_wcsicmp(wszNTPath, pwszNTPath))
2616 wcscpy(pwszPath, pwszDrive);
2619 wsprintf(wszBuf,
L"GetInstallSourceWin32: %s", pwszPath);
2643 L"UnattendSetupEnabled",
2662 DPRINT(
"Unattend setup was disabled by UnattendSetupEnabled key.\n");
2666 pSetupData->UnattendSetup =
TRUE;
2701 if (
ARRAYSIZE(pSetupData->OwnerName) > LineLength)
2703 wcscpy(pSetupData->OwnerName, szValue);
2708 if (
ARRAYSIZE(pSetupData->OwnerOrganization) > LineLength)
2710 wcscpy(pSetupData->OwnerOrganization, szValue);
2715 if (
ARRAYSIZE(pSetupData->ComputerName) > LineLength)
2717 wcscpy(pSetupData->ComputerName, szValue);
2722 if (
ARRAYSIZE(pSetupData->AdminPassword) > LineLength)
2724 wcscpy(pSetupData->AdminPassword, szValue);
2729 pSetupData->TimeZoneIndex =
_wtoi(szValue);
2733 pSetupData->DisableAutoDaylightTimeSet =
_wtoi(szValue);
2738 pSetupData->DisableGeckoInst =
TRUE;
2740 pSetupData->DisableGeckoInst =
FALSE;
2779 iValue =
_wtoi(szValue);
2812 L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce",
2817 DPRINT1(
"Error: failed to open HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce\n");
2867 DPRINT1(
"Error: failed to open HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\n");
2929 return (
_wcsicmp(szPath1, szPath2) == 0);
2939 DWORD dwPathLength = 0;
2940 DWORD dwNewLength = 0;
2946 L"Installation Sources",
2954 dwPathLength == 0 ||
2955 dwPathLength %
sizeof(
WCHAR) != 0)
2962 dwNewLength = dwPathLength + (
wcslen(lpPath) + 1) *
sizeof(
WCHAR);
2971 L"Installation Sources",
2998 if (dwPathLength == 0)
3000 dwNewLength = (
wcslen(lpPath) + 1 + 1) *
sizeof(
WCHAR);
3013 L"Installation Sources",
3088 swprintf(szValue,
L"\"%s\"", pSetupData->SourcePath);
3100 L"Software\\Microsoft\\Windows NT\\CurrentVersion",
3112 L"Software\\Microsoft\\Windows\\CurrentVersion\\Setup",
3127 (
LPBYTE)pSetupData->SourcePath,
3128 (
wcslen(pSetupData->SourcePath) + 1) *
sizeof(
WCHAR));
3131 L"ServicePackSourcePath",
3134 (
LPBYTE)pSetupData->SourcePath,
3135 (
wcslen(pSetupData->SourcePath) + 1) *
sizeof(
WCHAR));
3170 DWORD dwPageCount = 10, dwNetworkPageCount = 0;
3172 LogItem(
L"BEGIN_SECTION",
L"InstallWizard");
3178 if (pSetupData ==
NULL)
3182 L"Setup failed to allocate global data!",
3190 if (hNetShell !=
NULL)
3192 DPRINT(
"Netshell.dll loaded!\n");
3195 "NetSetupRequestWizardPages");
3198 pfn(&dwNetworkPageCount,
NULL,
NULL);
3199 dwPageCount += dwNetworkPageCount;
3203 DPRINT(
"PageCount: %lu\n", dwPageCount);
3212 L"Setup failed to allocate page array!",
3225 psp.lParam = (
LPARAM)pSetupData;
3231 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
3239 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
3247 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
3255 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
3263 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
3271 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
3279 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
3291 pfn(&dwNetworkPageCount, &phpage[nPages], pSetupData);
3292 nPages += dwNetworkPageCount;
3296 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
3309 ASSERT(nPages == dwPageCount);
3313 psh.dwFlags = PSH_WIZARD97 | PSH_WATERMARK | PSH_HEADER |
PSH_MODELESS;
3315 psh.hwndParent =
NULL;
3316 psh.nPages = nPages;
3318 psh.phpage = phpage;
3349 if (hNetShell !=
NULL)
3352 if (pSetupData !=
NULL)
3355 LogItem(
L"END_SECTION",
L"InstallWizard");
static _In_ LPCWSTR LocaleName
PRTL_UNICODE_STRING_BUFFER Path
static VOID ErrorMessage(_In_ DWORD dwErrorCode, _In_opt_ PCWSTR pszMsg,...)
struct _SETUPDATA * PSETUPDATA
#define IDS_PROCESSSUBTITLE
#define IDC_PROCESSPROGRESS
#define IDC_RESTART_PROGRESS
#define RegCloseKey(hKey)
static HINSTANCE hDllInstance
BOOL WINAPI SetComputerNameW(LPCWSTR lpComputerName)
BOOL WINAPI SetComputerNameExW(COMPUTER_NAME_FORMAT NameType, LPCWSTR lpBuffer)
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
#define ERROR_NOT_ENOUGH_MEMORY
BOOL WINAPI SHIM_OBJ_NAME() Notify(DWORD fdwReason, PVOID ptr)
#define IDS_REACTOS_SETUP
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
INT WINAPI ImageList_AddMasked(HIMAGELIST himl, HBITMAP hBitmap, COLORREF clrMask)
HIMAGELIST WINAPI ImageList_Create(INT cx, INT cy, UINT flags, INT cInitial, INT cGrow)
static const WCHAR Title[]
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define HeapFree(x, y, z)
static void cleanup(void)
DWORD WINAPI QueryDosDeviceW(LPCWSTR lpDeviceName, LPWSTR lpTargetPath, DWORD ucchMax)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
UINT WINAPI GetDriveTypeW(IN LPCWSTR lpRootPathName)
DWORD WINAPI GetLogicalDriveStringsW(IN DWORD nBufferLength, IN LPWSTR lpBuffer)
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
UINT WINAPI GetSystemDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessW(LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
BOOL WINAPI SetLocalTime(IN CONST SYSTEMTIME *lpSystemTime)
DWORD WINAPI GetTickCount(VOID)
VOID WINAPI GetLocalTime(OUT LPSYSTEMTIME lpSystemTime)
BOOL WINAPI WritePrivateProfileStringW(LPCWSTR section, LPCWSTR entry, LPCWSTR string, LPCWSTR filename)
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
DWORD WINAPI SizeofResource(HINSTANCE hModule, HRSRC hRsrc)
LPVOID WINAPI LockResource(HGLOBAL handle)
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
BOOL WINAPI SetTimeZoneInformation(CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation)
GEOID WINAPI GetUserGeoID(GEOCLASS GeoClass)
LCID WINAPI GetThreadLocale(void)
INT WINAPI GetGeoInfoW(GEOID geoid, GEOTYPE geotype, LPWSTR data, int data_len, LANGID lang)
LCID WINAPI GetUserDefaultLCID(void)
LCID WINAPI GetSystemDefaultLCID(void)
INT WINAPI GetLocaleInfoW(LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len)
static const WCHAR CmdLine[]
BOOL WINAPI SetupInstallFromInfSectionW(HWND owner, HINF hinf, PCWSTR section, UINT flags, HKEY key_root, PCWSTR src_root, UINT copy_flags, PSP_FILE_CALLBACK_W callback, PVOID context, HDEVINFO devinfo, PSP_DEVINFO_DATA devinfo_data)
static const WCHAR RegisterDlls[]
HINF WINAPI SetupOpenInfFileW(PCWSTR name, PCWSTR class, DWORD style, UINT *error)
LONG WINAPI SetupGetLineCountW(HINF hinf, PCWSTR section)
void WINAPI SetupTermDefaultQueueCallback(PVOID context)
PVOID WINAPI SetupInitDefaultQueueCallback(HWND owner)
HRESULT WINAPI SHGetFolderPathAndSubDirW(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPCWSTR pszSubPath, LPWSTR pszPath)
NTSTATUS SetAdministratorPassword(LPCWSTR Password)
struct _ITEMSDATA * PITEMSDATA
struct _REGISTRATIONNOTIFY * PREGISTRATIONNOTIFY
BOOL RegisterTypeLibraries(_In_ PITEMSDATA pItemsData, _In_ PREGISTRATIONNOTIFY pNotify, _In_ HINF hinf, _In_ LPCWSTR szSection)
VOID InstallStartMenuItems(_In_ PITEMSDATA pItemsData)
#define IDS_THEMESELECTIONTITLE
#define IDC_OWNERORGANIZATION
#define IDS_LOCALESUBTITLE
#define IDC_ADMINPASSWORD2
#define IDS_PRODUCTWORKSTATIONNAME
#define IDS_DLLINSTALL_FAILED
#define IDS_REGSVR_FAILED
#define IDS_WZD_COMPUTERNAME
#define IDS_LOADLIBRARY_FAILED
#define IDS_OWNERSUBTITLE
#define IDS_GETPROCADDR_FAILED
#define IDS_WZD_PASSWORDMATCH
#define IDS_COMPUTERSUBTITLE
#define IDC_PRODUCT_OPTIONS
#define IDS_WZD_PASSWORDCHAR
#define IDC_PRODUCT_DESCRIPTION
#define IDS_DATETIMESUBTITLE
#define IDS_PRODUCTWORKSTATIONINFO
#define IDS_THEMESELECTIONSUBTITLE
#define IDS_REASON_UNKNOWN
#define IDS_PRODUCTSERVERNAME
#define IDS_COMPUTERTITLE
#define IDS_WZD_LOCALTIME
#define IDS_MACHINE_OWNER_NAME
#define IDS_WZD_SETCOMPUTERNAME
#define IDS_WZD_PASSWORDEMPTY
#define IDC_ADMINPASSWORD1
#define IDS_PRODUCTSUBTITLE
#define IDS_PRODUCTSERVERINFO
#define IDS_UNKNOWN_ERROR
#define IDS_DATETIMETITLE
#define IDS_ADMINISTRATOR_NAME
NTSTATUS WINAPI SetAccountsDomainSid(PSID DomainSid, LPCWSTR DomainName)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
HLOCAL NTAPI LocalFree(HLOCAL hMem)
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
void __cdecl srand(_In_ unsigned int _Seed)
_CRTIMP wchar_t *__cdecl _ultow(_In_ unsigned long _Value, _Pre_notnull_ _Post_z_ wchar_t *_Dest, _In_ int _Radix)
_Check_return_ int __cdecl rand(void)
_Check_return_ _CRTIMP int __cdecl _wtoi(_In_z_ const wchar_t *_Str)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
#define EXCEPTION_EXECUTE_HANDLER
HRESULT Next([in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] STATPROPSETSTG *rgelt, [out] ULONG *pceltFetched)
#define memcpy(s1, s2, n)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static PLARGE_INTEGER Time
static SCRIPT_CACHE SCRIPT_ANALYSIS OPENTYPE_TAG OPENTYPE_TAG int TEXTRANGE_PROPERTIES int const WCHAR int cChars
struct _PSP * HPROPSHEETPAGE
unsigned __int3264 UINT_PTR
INT WINAPI MulDiv(INT nNumber, INT nNumerator, INT nDenominator)
static HFONT CreateTitleFont(VOID)
static INT_PTR CALLBACK WelcomeDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
static INT_PTR CALLBACK FinishDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
static VOID CenterWindow(IN HWND hWnd)
#define REG_OPTION_NON_VOLATILE
#define FILE_ATTRIBUTE_DIRECTORY
#define MAKELCID(lgid, srtid)
#define PathCanonicalizeW
#define PathAddBackslashW
static const WCHAR szName[]
#define PropSheet_PressButton(d, i)
#define CreatePropertySheetPage
#define PropSheet_SetWizButtons(d, f)
#define ListView_InsertItem(hwnd, pitem)
#define ListView_SetIconSpacing(hwndLV, cx, cy)
#define ListView_SetImageList(hwnd, himl, iImageList)
#define ListView_SetBkColor(hwnd, clrBk)
#define DateTime_SetSystemtime(hdp, gd, pst)
#define DTN_DATETIMECHANGE
struct tagNMLISTVIEW * LPNMLISTVIEW
#define ListView_SetTextBkColor(hwnd, clrTextBk)
#define DateTime_GetSystemtime(hdp, pst)
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
NTSTATUS NTAPI RtlCreateBootStatusDataFile(VOID)
#define SPREG_GETPROCADDR
#define SetupDefaultQueueCallback
#define SPFILENOTIFY_STARTREGISTRATION
struct _SP_REGISTER_CONTROL_STATUSW * PSP_REGISTER_CONTROL_STATUSW
#define SPFILENOTIFY_ENDREGISTRATION
#define SPREG_LOADLIBRARY
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
STRSAFEAPI StringCchCatW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
base of all file and directory entries
WCHAR lfFaceName[LF_FACESIZE]
DWORD ReportAsWorkstation
PREGISTRATIONNOTIFY pNotify
struct _TIMEZONE_ENTRY * TimeZoneListHead
PRODUCT_OPTION ProductOption
UINT uPostNetworkWizardPage
struct _TIMEZONE_ENTRY * TimeZoneListTail
UINT uFirstNetworkWizardPage
WCHAR OwnerOrganization[51]
DWORD DisableAutoDaylightTimeSet
REG_TZI_FORMAT TimezoneInfo
struct _TIMEZONE_ENTRY * Prev
struct _TIMEZONE_ENTRY * Next
static BOOL WriteOwnerSettings(WCHAR *OwnerName, WCHAR *OwnerOrganization)
static VOID RegisterComponents(PITEMSDATA pItemsData)
static const WCHAR * s_ExplorerSoundEvents[][2]
static INT_PTR CALLBACK GplDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static const PRODUCT_OPTION_DATA s_ProductOptionData[]
static BOOL DoWriteSoundEvents(HKEY hKey, LPCWSTR lpSubkey, LPCWSTR lpEventsArray[][2], DWORD dwSize)
struct _PRODUCT_OPTION_DATA PRODUCT_OPTION_DATA
static VOID ShowItemError(HWND hwndDlg, DWORD LastError)
struct _REGISTRATIONDATA REGISTRATIONDATA
static BOOL GetInstallSourceWin32(OUT PWSTR pwszPath, IN DWORD cchPathMax, IN PCWSTR pwszNTPath)
static const WCHAR s_szRosVersion[]
static BOOL RunItemCompletionThread(_In_ HWND hwndDlg)
static UINT CALLBACK RegistrationNotificationProc(PVOID Context, UINT Notification, UINT_PTR Param1, UINT_PTR Param2)
static VOID CreateTimeZoneList(PSETUPDATA SetupData)
static VOID SetKeyboardLayoutName(HWND hwnd)
static BOOL SetSystemLocalTime(HWND hwnd, PSETUPDATA SetupData)
static VOID WriteUserLocale(VOID)
static BOOL DoWriteProductOption(PRODUCT_OPTION nOption)
static INT_PTR CALLBACK ComputerPageDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static BOOL PathIsEqual(IN LPCWSTR lpPath1, IN LPCWSTR lpPath2)
static VOID UpdateLocalSystemTime(HWND hwnd, SYSTEMTIME LocalTime)
static INT_PTR CALLBACK LocalePageDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static BOOL WriteDefaultLogonData(LPWSTR Domain)
static void GenerateComputerName(LPWSTR lpBuffer)
static PTIMEZONE_ENTRY GetLargerTimeZoneEntry(PSETUPDATA SetupData, DWORD Index)
static VOID SetUserLocaleName(HWND hwnd)
static INT_PTR CALLBACK OwnerPageDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static BOOL WriteDateTimeSettings(HWND hwndDlg, PSETUPDATA SetupData)
#define MAX_LAYOUTS_PER_LANGID
static INT_PTR CALLBACK DateTimePageDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static HFONT CreateBoldFont(VOID)
static BOOL WriteComputerSettings(WCHAR *ComputerName, HWND hwndDlg)
VOID ProcessSetupInf(IN OUT PSETUPDATA pSetupData)
static VOID ShowStepError(HWND hwndDlg, PREGISTRATIONNOTIFY RegistrationNotify)
static const WCHAR s_szWinlogon[]
static VOID DestroyTimeZoneList(PSETUPDATA SetupData)
static const WCHAR * s_DefaultSoundEvents[][2]
static BOOL GetLocalSystemTime(HWND hwnd, PSETUPDATA SetupData)
static LONG RetrieveTimeZone(IN HKEY hZoneKey, IN PVOID Context)
static struct ThemeInfo Themes[]
DWORD(WINAPI * PFNREQUESTWIZARDPAGES)(PDWORD, HPROPSHEETPAGE *, PSETUPDATA)
void WINAPI Control_RunDLLW(HWND hWnd, HINSTANCE hInst, LPCWSTR cmd, DWORD nCmdShow)
struct _REGISTRATIONDATA * PREGISTRATIONDATA
static VOID SetLocalTimeZone(HWND hwnd, PSETUPDATA SetupData)
static INT_PTR CALLBACK ThemePageDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static void OnChooseOption(HWND hwndDlg, PRODUCT_OPTION nOption)
static INT_PTR CALLBACK AckPageDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static DWORD CALLBACK ItemCompletionThread(LPVOID Parameter)
static BOOL RunControlPanelApplet(HWND hwnd, PCWSTR pwszCPLParameters)
static VOID SetInstallationCompleted(VOID)
static VOID AddInstallationSource(IN HKEY hKey, IN LPWSTR lpPath)
struct _TIMEZONE_ENTRY * PTIMEZONE_ENTRY
static const WCHAR s_szExplorerSoundEvents[]
VOID ProcessUnattendSection(IN OUT PSETUPDATA pSetupData)
struct _TIMEZONE_ENTRY TIMEZONE_ENTRY
static const WCHAR s_szProductOptions[]
static const WCHAR s_szControlWindows[]
static VOID ShowTimeZoneList(HWND hwnd, PSETUPDATA SetupData, DWORD dwEntryIndex)
static INT_PTR CALLBACK ProcessPageDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static INT_PTR CALLBACK ProductPageDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static const WCHAR s_szDefaultSoundEvents[]
#define LogItem(lpTag, lpMessageText...)
enum _PRODUCT_OPTION PRODUCT_OPTION
@ PRODUCT_OPTION_WORKSTATION
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
TW_UINT32 TW_UINT16 TW_UINT16 MSG
VOID EnumerateTimeZoneList(IN PENUM_TIMEZONE_CALLBACK Callback, IN PVOID Context OPTIONAL)
LONG QueryTimeZoneData(IN HKEY hZoneKey, OUT PULONG Index OPTIONAL, OUT PREG_TZI_FORMAT TimeZoneInfo, OUT PWCHAR Description OPTIONAL, IN OUT PULONG DescriptionSize OPTIONAL, OUT PWCHAR StandardName OPTIONAL, IN OUT PULONG StandardNameSize OPTIONAL, OUT PWCHAR DaylightName OPTIONAL, IN OUT PULONG DaylightNameSize OPTIONAL)
VOID SetAutoDaylight(IN BOOL EnableAutoDaylightTime)
BOOL GetTimeZoneListIndex(IN OUT PULONG pIndex)
BOOL WINAPI SetupGetStringFieldW(IN PINFCONTEXT Context, IN ULONG FieldIndex, OUT PWSTR ReturnBuffer, IN ULONG ReturnBufferSize, OUT PULONG RequiredSize)
BOOL WINAPI SetupFindFirstLineW(IN HINF InfHandle, IN PCWSTR Section, IN PCWSTR Key, IN OUT PINFCONTEXT Context)
BOOL WINAPI SetupFindNextLine(IN PINFCONTEXT ContextIn, OUT PINFCONTEXT ContextOut)
VOID WINAPI SetupCloseInfFile(IN HINF InfHandle)
#define INVALID_FILE_ATTRIBUTES
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION Notification
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
BOOL WINAPI EnumDisplaySettingsW(LPCWSTR lpszDeviceName, DWORD iModeNum, LPDEVMODEW lpDevMode)
LONG WINAPI ChangeDisplaySettingsW(LPDEVMODEW lpDevMode, DWORD dwflags)
UINT WINAPI GetDlgItemTextW(HWND hDlg, int nIDDlgItem, LPWSTR lp