Index: dll/win32/syssetup/lang/bg-BG.rc =================================================================== --- dll/win32/syssetup/lang/bg-BG.rc (revision 68584) +++ dll/win32/syssetup/lang/bg-BG.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Настройката не може да продължи, докато не въведете името си." IDS_WZD_SETCOMPUTERNAME "Настройката не успя да зададе име на компютъра." - IDS_WZD_COMPUTERNAME "Настройката не може да продължи, докато не въведете името на компютъра." IDS_WZD_PASSWORDEMPTY "Трябва да въведете парола!" IDS_WZD_PASSWORDMATCH "Паролите, които сте въвели не съвпадат. Въведете ги отново." IDS_WZD_PASSWORDCHAR "Паролата, която сте въвели съдържа забранени знаци. Въведете изчистена парола." Index: dll/win32/syssetup/lang/cs-CZ.rc =================================================================== --- dll/win32/syssetup/lang/cs-CZ.rc (revision 68584) +++ dll/win32/syssetup/lang/cs-CZ.rc (working copy) @@ -165,9 +165,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Instalace nemůže pokračovat, dokud nezadáte své jméno." IDS_WZD_SETCOMPUTERNAME "Instalátor nedokázal nastavit jméno počítače." - IDS_WZD_COMPUTERNAME "Instalace nemůže pokračovat, dokud nezadáte jméno počítače." IDS_WZD_PASSWORDEMPTY "Musíte zadat heslo!" IDS_WZD_PASSWORDMATCH "Zadaná hesla nesouhlasí. Zadejte požadované heslo znovu." IDS_WZD_PASSWORDCHAR "Zadané heslo obsahuje nepovolené znaky. Zadejte upravené heslo." Index: dll/win32/syssetup/lang/de-DE.rc =================================================================== --- dll/win32/syssetup/lang/de-DE.rc (revision 68584) +++ dll/win32/syssetup/lang/de-DE.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Die Installation kann erst fortgesetzt werden, wenn ein Name eingegeben wurde." IDS_WZD_SETCOMPUTERNAME "Das Installationsprogramm konnte den Computernamen nicht einstellen." - IDS_WZD_COMPUTERNAME "Die Installation kann erst fortgesetzt werden, wenn ein Computername eingegeben wurde." IDS_WZD_PASSWORDEMPTY "Sie müssen ein Passwort vergeben!" IDS_WZD_PASSWORDMATCH "Die Passwörter sind nicht identisch. Bitte geben Sie die Passwörter erneut ein." IDS_WZD_PASSWORDCHAR "Das Passwort enthält ungültige Zeichen. Bitte wählen Sie ein gültiges Passwort." Index: dll/win32/syssetup/lang/el-GR.rc =================================================================== --- dll/win32/syssetup/lang/el-GR.rc (revision 68584) +++ dll/win32/syssetup/lang/el-GR.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Για να συνεχίσει η εγκατάσταση, πρέπει να εισάγετε το όνομά σας." IDS_WZD_SETCOMPUTERNAME "Η εγκατάσταση απέτυχε να ορίσει το όνομα του υπολογιστή σας." - IDS_WZD_COMPUTERNAME "Για να συνεχίσει η εγκατάσταση, πρέπει να εισάγετε το όνομά του υπολογιστή." IDS_WZD_PASSWORDEMPTY "Πρέπει να εισάγετε έναν κωδικό πρόσβασης !" IDS_WZD_PASSWORDMATCH "Οι κωδικοί πρόσβασης που εισαγάγατε δεν είναι ίδιοι. Εισάγετε ξανά τον κωδικό προσβασης." IDS_WZD_PASSWORDCHAR "Ο κωδικός πρόσβασης που εισαγάγατε περιέχει μη έγκυρους χαρακτήρες. Παρακαλώ εισάγετε έναν άλλο κωδικό πρόσβασης." Index: dll/win32/syssetup/lang/en-US.rc =================================================================== --- dll/win32/syssetup/lang/en-US.rc (revision 68584) +++ dll/win32/syssetup/lang/en-US.rc (working copy) @@ -178,9 +178,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Setup cannot continue until you enter your name." IDS_WZD_SETCOMPUTERNAME "Setup failed to set the computer name." - IDS_WZD_COMPUTERNAME "Setup cannot continue until you enter the name of your computer." IDS_WZD_PASSWORDEMPTY "You must enter a password !" IDS_WZD_PASSWORDMATCH "The passwords you entered do not match. Please enter the desired password again." IDS_WZD_PASSWORDCHAR "The password you entered contains invalid characters. Please enter a cleaned password." Index: dll/win32/syssetup/lang/es-ES.rc =================================================================== --- dll/win32/syssetup/lang/es-ES.rc (revision 68584) +++ dll/win32/syssetup/lang/es-ES.rc (working copy) @@ -160,9 +160,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "El proceso de instalación no puede continuar hasta que no escriba su nombre." IDS_WZD_SETCOMPUTERNAME "El proceso de instalación no pudo configurar el nombre del equipo." - IDS_WZD_COMPUTERNAME "El proceso de instalación no puede continuar hasta que no escriba un nombre para su equipo." IDS_WZD_PASSWORDEMPTY "Es necesario establecer una contraseña." IDS_WZD_PASSWORDMATCH "La segunda contraseña no concuerda con la primera contraseña introducida. Pruebe a escribir de nuevo la contraseña." IDS_WZD_PASSWORDCHAR "La contraseña que ha introducido contiene carácteres no válidos. Pruebe a escribir de nuevo la contraseña." Index: dll/win32/syssetup/lang/et-EE.rc =================================================================== --- dll/win32/syssetup/lang/et-EE.rc (revision 68584) +++ dll/win32/syssetup/lang/et-EE.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Paigaldamine ei saa jätkuda enne kui on sisestatud nimi." IDS_WZD_SETCOMPUTERNAME "Arvuti nime ei õnnestunud seadistada." - IDS_WZD_COMPUTERNAME "Paigaldamine ei saa jätkuda enne kui on sisestatud arvuti nimi." IDS_WZD_PASSWORDEMPTY "Sa pead parooli sisestama!" IDS_WZD_PASSWORDMATCH "Paroolid ei klapi. Proovi paroolid uuesti sisestada." IDS_WZD_PASSWORDCHAR "Paroolis on vigased tähemärgid. Proovi teistsugust parooli." Index: dll/win32/syssetup/lang/fr-FR.rc =================================================================== --- dll/win32/syssetup/lang/fr-FR.rc (revision 68584) +++ dll/win32/syssetup/lang/fr-FR.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "L'installation ne peut pas continuer tant que vous n'avez pas entré votre nom." IDS_WZD_SETCOMPUTERNAME "L'installation a échoué lors de la définition du nom de votre ordinateur." - IDS_WZD_COMPUTERNAME "L'installation ne peut continuer tant que vous n'avez pas entré le nom de votre ordinateur." IDS_WZD_PASSWORDEMPTY "Vous devez entrer un mot de passe !" IDS_WZD_PASSWORDMATCH "Les mots de passe entrés ne correspondent pas. Veuillez saisir une nouvelle fois le mot de passe désiré." IDS_WZD_PASSWORDCHAR "Le mot de passe entré contient des caractères invalides. Veuillez saisir un mot de passe correct." Index: dll/win32/syssetup/lang/he-IL.rc =================================================================== --- dll/win32/syssetup/lang/he-IL.rc (revision 68584) +++ dll/win32/syssetup/lang/he-IL.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Setup cannot continue until you enter your name." IDS_WZD_SETCOMPUTERNAME "Setup failed to set the computer name." - IDS_WZD_COMPUTERNAME "Setup cannot continue until you enter the name of your computer." IDS_WZD_PASSWORDEMPTY "You must enter a password !" IDS_WZD_PASSWORDMATCH "The passwords you entered do not match. Please enter the desired password again." IDS_WZD_PASSWORDCHAR "The password you entered contains invalid characters. Please enter a cleaned password." Index: dll/win32/syssetup/lang/hu-HU.rc =================================================================== --- dll/win32/syssetup/lang/hu-HU.rc (revision 68584) +++ dll/win32/syssetup/lang/hu-HU.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Setup cannot continue until you enter your name." IDS_WZD_SETCOMPUTERNAME "Setup failed to set the computer name." - IDS_WZD_COMPUTERNAME "Setup cannot continue until you enter the name of your computer." IDS_WZD_PASSWORDEMPTY "You must enter a password !" IDS_WZD_PASSWORDMATCH "The passwords you entered do not match. Please enter the desired password again." IDS_WZD_PASSWORDCHAR "The password you entered contains invalid characters. Please enter a cleaned password." Index: dll/win32/syssetup/lang/id-ID.rc =================================================================== --- dll/win32/syssetup/lang/id-ID.rc (revision 68584) +++ dll/win32/syssetup/lang/id-ID.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Setup cannot continue until you enter your name." IDS_WZD_SETCOMPUTERNAME "Setup failed to set the computer name." - IDS_WZD_COMPUTERNAME "Setup cannot continue until you enter the name of your computer." IDS_WZD_PASSWORDEMPTY "You must enter a password !" IDS_WZD_PASSWORDMATCH "The passwords you entered do not match. Please enter the desired password again." IDS_WZD_PASSWORDCHAR "The password you entered contains invalid characters. Please enter a cleaned password." Index: dll/win32/syssetup/lang/it-IT.rc =================================================================== --- dll/win32/syssetup/lang/it-IT.rc (revision 68584) +++ dll/win32/syssetup/lang/it-IT.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "La procedura di installazione non può proseguire se non indicate il vostro nome." IDS_WZD_SETCOMPUTERNAME "La procedura di installazione non ha potuto impostare il nome del computer." - IDS_WZD_COMPUTERNAME "La procedura di installazione non può proseguire se non indicate il nome del computer." IDS_WZD_PASSWORDEMPTY "E' obbligatorio impostare la password !" IDS_WZD_PASSWORDMATCH "Le due password digitate non corrispondono. Digitate di nuovo le password." IDS_WZD_PASSWORDCHAR "La password contiene caratteri non validi. Digitate una password diversa." Index: dll/win32/syssetup/lang/ja-JP.rc =================================================================== --- dll/win32/syssetup/lang/ja-JP.rc (revision 68584) +++ dll/win32/syssetup/lang/ja-JP.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "セットアップはユーザ名が入力されるまで続行できません。" IDS_WZD_SETCOMPUTERNAME "コンピュータ名の設定に失敗しました。" - IDS_WZD_COMPUTERNAME "セットアップはコンピュータ名が入力されるまで続行できません。" IDS_WZD_PASSWORDEMPTY "パスワードを入力してください !" IDS_WZD_PASSWORDMATCH "入力されたパスワードが一致しません。 もう一度望ましいパスワードを入力してください。" IDS_WZD_PASSWORDCHAR "入力されたパスワードには無効な文字が含まれています。 有効なパスワードを入力してください。" Index: dll/win32/syssetup/lang/nl-NL.rc =================================================================== --- dll/win32/syssetup/lang/nl-NL.rc (revision 68584) +++ dll/win32/syssetup/lang/nl-NL.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Setup cannot continue until you enter your name." IDS_WZD_SETCOMPUTERNAME "Setup failed to set the computer name." - IDS_WZD_COMPUTERNAME "Setup cannot continue until you enter the name of your computer." IDS_WZD_PASSWORDEMPTY "You must enter a password !" IDS_WZD_PASSWORDMATCH "The passwords you entered do not match. Please enter the desired password again." IDS_WZD_PASSWORDCHAR "The password you entered contains invalid characters. Please enter a cleaned password." Index: dll/win32/syssetup/lang/no-NO.rc =================================================================== --- dll/win32/syssetup/lang/no-NO.rc (revision 68584) +++ dll/win32/syssetup/lang/no-NO.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Installasjonen kan ikke fortsette uten ditt navn." IDS_WZD_SETCOMPUTERNAME "Installasjonen klarte ikke sette datamaskinnavnet." - IDS_WZD_COMPUTERNAME "Installasjonen kan ikke fortsette før du taster inn navn for datamaskinen." IDS_WZD_PASSWORDEMPTY "Du må taste et passord!" IDS_WZD_PASSWORDMATCH "Passordene du tastet er ikke like. Vennligst tast inn på nytt." IDS_WZD_PASSWORDCHAR "Passordet du tastet inneholder ugyldige tegn. Vennligst tast inn et annet." Index: dll/win32/syssetup/lang/pl-PL.rc =================================================================== --- dll/win32/syssetup/lang/pl-PL.rc (revision 68584) +++ dll/win32/syssetup/lang/pl-PL.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Program instalacyjny nie może kontynuować dopóki nie wpiszesz swojego imienia i nazwiska." IDS_WZD_SETCOMPUTERNAME "Program instalacyjny nie zdołał ustawić nowej nazwy komputera." - IDS_WZD_COMPUTERNAME "Program instalacyjny nie może kontynuować dopóki nie wpiszesz nazwy komputera." IDS_WZD_PASSWORDEMPTY "Musisz wprowadzić hasło!" IDS_WZD_PASSWORDMATCH "Oba wprowadzone hasła nie są identyczne. Musisz wpisać to samo hasło dwa razy." IDS_WZD_PASSWORDCHAR "Wprowadzone hasło zawiera nieodpowiednie znaki. Proszę wprowadzić hasło bez ich udziału." Index: dll/win32/syssetup/lang/pt-BR.rc =================================================================== --- dll/win32/syssetup/lang/pt-BR.rc (revision 68584) +++ dll/win32/syssetup/lang/pt-BR.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "A Instalação não pode continuar até que você digite seu nome." IDS_WZD_SETCOMPUTERNAME "A Instalação falhou tentando definir o nome do computador." - IDS_WZD_COMPUTERNAME "A Instalação não pode continuar até que você digite o nome do seu computador." IDS_WZD_PASSWORDEMPTY "Você deve digitar uma senha." IDS_WZD_PASSWORDMATCH "As senhas digitadas não coincidem. Por favor, entre com a senha desejada novamente." IDS_WZD_PASSWORDCHAR "A senha que você digitou contém caracteres inválidos. Por favor digite uma senha diferente." Index: dll/win32/syssetup/lang/ro-RO.rc =================================================================== --- dll/win32/syssetup/lang/ro-RO.rc (revision 68584) +++ dll/win32/syssetup/lang/ro-RO.rc (working copy) @@ -168,9 +168,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Nu se poate continua până nu scrieți un nume." IDS_WZD_SETCOMPUTERNAME "Se poate da calculatorului acest nume." - IDS_WZD_COMPUTERNAME "Nu se poate continua până nu introduceți un nume pentru calculator." IDS_WZD_PASSWORDEMPTY "Trebuie să introduceți o parolă!" IDS_WZD_PASSWORDMATCH "Mostrele pentru parolă nu se potrivesc. Încercați reintroducerea parolei." IDS_WZD_PASSWORDCHAR "Parola introdusă de dumneavoastră conține caractere invalide. încercați rescrierea parolei." Index: dll/win32/syssetup/lang/ru-RU.rc =================================================================== --- dll/win32/syssetup/lang/ru-RU.rc (revision 68584) +++ dll/win32/syssetup/lang/ru-RU.rc (working copy) @@ -161,9 +161,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Для продолжения установки нужно ввести ваше имя." IDS_WZD_SETCOMPUTERNAME "Ошибка установки! Нужно ввести имя компьютера." - IDS_WZD_COMPUTERNAME "Для продолжения установки нужно ввести имя компьютера." IDS_WZD_PASSWORDEMPTY "Вы должны ввести пароль!" IDS_WZD_PASSWORDMATCH "Пароли, которые вы ввели не совпадают. Введите их снова." IDS_WZD_PASSWORDCHAR "Пароли, которые вы ввели содержат запрещенные символы. Введите их снова." Index: dll/win32/syssetup/lang/sk-SK.rc =================================================================== --- dll/win32/syssetup/lang/sk-SK.rc (revision 68584) +++ dll/win32/syssetup/lang/sk-SK.rc (working copy) @@ -165,9 +165,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Inštalácia nemôže pokračovať, kým nezadáte svoje meno." IDS_WZD_SETCOMPUTERNAME "Inštalátor nedokázal nastaviť názov počítača." - IDS_WZD_COMPUTERNAME "Inštalácia nemôže pokračovať, kým nezadáte názov počítača." IDS_WZD_PASSWORDEMPTY "Musíte zadať heslo!" IDS_WZD_PASSWORDMATCH "Zadané heslá nesúhlasia. Zadajte požadované heslo znovu." IDS_WZD_PASSWORDCHAR "Zadané heslo obsahuje nepovolené znaky. Zadajte upravené heslo." Index: dll/win32/syssetup/lang/sq-AL.rc =================================================================== --- dll/win32/syssetup/lang/sq-AL.rc (revision 68584) +++ dll/win32/syssetup/lang/sq-AL.rc (working copy) @@ -178,9 +178,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Ndërtimi nuk mund të vazhdojë deri sa të shkruani emrin tuaj." IDS_WZD_SETCOMPUTERNAME "Ndërtuesi dështoj për të vendosur emrin e kompjuterit." - IDS_WZD_COMPUTERNAME "Ndërtuesi nuk mund të vazhdojë deri sa të shkruani emrin e kompjuterit tuaj." IDS_WZD_PASSWORDEMPTY "Ju duhet të fusni një fjalëkalim !" IDS_WZD_PASSWORDMATCH "Fjalëkalimet që shkruat nuk përputhet. Ju lutem shkruani fjalëkalimin e dëshiruar përsëri." IDS_WZD_PASSWORDCHAR "Fjalëkalimi që dhatë përmban shenja të pavlefshme. Ju lutemi shkruani një fjalëkalim të qartë." Index: dll/win32/syssetup/lang/tr-TR.rc =================================================================== --- dll/win32/syssetup/lang/tr-TR.rc (revision 68584) +++ dll/win32/syssetup/lang/tr-TR.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Kur, isim girilmeden devam edemez." IDS_WZD_SETCOMPUTERNAME "Kur, bilgisayar adınızı tanımlayamıyor." - IDS_WZD_COMPUTERNAME "Kur, bir bilgisayar adı girilmeden devam edemez." IDS_WZD_PASSWORDEMPTY "Bir parola girmelisiniz !" IDS_WZD_PASSWORDMATCH "Girdiğiniz parolalar uyuşmuyor. Lütfen kontrol ediniz." IDS_WZD_PASSWORDCHAR "Girdiğiniz parola uygun olmayan karakterler içeriyor. Lütfen kontrol ediniz." Index: dll/win32/syssetup/lang/uk-UA.rc =================================================================== --- dll/win32/syssetup/lang/uk-UA.rc (revision 68584) +++ dll/win32/syssetup/lang/uk-UA.rc (working copy) @@ -167,9 +167,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "Для продовження встановлення необхідно ввести ваше ім'я." IDS_WZD_SETCOMPUTERNAME "Програмі інсталяції не вдалося встановити ім'я комп'ютера." - IDS_WZD_COMPUTERNAME "Для продовження встановлення необхідно ввести ім'я комп'ютера." IDS_WZD_PASSWORDEMPTY "Ви маєте ввести пароль !" IDS_WZD_PASSWORDMATCH "Паролі, які ви ввели, не співпадають. Будь ласка введіть потрібний пароль знову." IDS_WZD_PASSWORDCHAR "Пароль, який ви ввели, містить заборонені символи. Будь ласка введіть інший пароль." Index: dll/win32/syssetup/lang/zh-CN.rc =================================================================== --- dll/win32/syssetup/lang/zh-CN.rc (revision 68584) +++ dll/win32/syssetup/lang/zh-CN.rc (working copy) @@ -159,9 +159,7 @@ STRINGTABLE BEGIN - IDS_WZD_NAME "请填写您的姓名否则安装程序无法继续" IDS_WZD_SETCOMPUTERNAME "请输入有效的计算机名" - IDS_WZD_COMPUTERNAME "请填写计算机名否则安装程序无法继续" IDS_WZD_PASSWORDEMPTY "请输入密码" IDS_WZD_PASSWORDMATCH "您两次输入的密码不一致请重新输入" IDS_WZD_PASSWORDCHAR "密码中包含无效字符,请重新输入" Index: dll/win32/syssetup/resource.h =================================================================== --- dll/win32/syssetup/resource.h (revision 68584) +++ dll/win32/syssetup/resource.h (working copy) @@ -103,9 +103,7 @@ #define IDS_REASON_UNKNOWN 3308 #define IDS_ADMINISTRATOR_NAME 3309 -#define IDS_WZD_NAME 3450 #define IDS_WZD_SETCOMPUTERNAME 3451 -#define IDS_WZD_COMPUTERNAME 3452 #define IDS_WZD_PASSWORDEMPTY 3453 #define IDS_WZD_PASSWORDMATCH 3454 #define IDS_WZD_PASSWORDCHAR 3455 Index: dll/win32/syssetup/wizard.c =================================================================== --- dll/win32/syssetup/wizard.c (revision 68584) +++ dll/win32/syssetup/wizard.c (working copy) @@ -444,25 +444,46 @@ WPARAM wParam, LPARAM lParam) { - WCHAR OwnerName[51]; - WCHAR OwnerOrganization[51]; - WCHAR Title[64]; - WCHAR ErrorName[256]; LPNMHDR lpnm; + DWORD dwWizFlags; switch (uMsg) { case WM_INITDIALOG: { - SendDlgItemMessage(hwndDlg, IDC_OWNERNAME, EM_LIMITTEXT, 50, 0); - SendDlgItemMessage(hwndDlg, IDC_OWNERORGANIZATION, EM_LIMITTEXT, 50, 0); + SendDlgItemMessage(hwndDlg, IDC_OWNERNAME, EM_LIMITTEXT, _countof(SetupData.OwnerName)-1, 0); + SendDlgItemMessage(hwndDlg, IDC_OWNERORGANIZATION, EM_LIMITTEXT, _countof(SetupData.OwnerOrganization)-1, 0); /* Set focus to owner name */ SetFocus(GetDlgItem(hwndDlg, IDC_OWNERNAME)); + + if (SetupData.UnattendSetup) + { + SetDlgItemTextW(hwndDlg, IDC_OWNERNAME, SetupData.OwnerName); + SetDlgItemTextW(hwndDlg, IDC_OWNERORGANIZATION, SetupData.OwnerOrganization); + } } break; + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDC_OWNERNAME: + if (HIWORD(wParam) == EN_CHANGE) + { + dwWizFlags = PSWIZB_BACK; + + /* Enable the Next button if OWNERNAME is not empty */ + if (GetWindowTextW((HWND)lParam, SetupData.OwnerName, _countof(SetupData.OwnerName)) > 0) + dwWizFlags |= PSWIZB_NEXT; + + PropSheet_SetWizButtons(GetParent(hwndDlg), dwWizFlags); + } + break; + } + break; + case WM_NOTIFY: { lpnm = (LPNMHDR)lParam; @@ -471,11 +492,13 @@ { case PSN_SETACTIVE: /* Enable the Back and Next buttons */ - PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT); + dwWizFlags = PSWIZB_BACK; + if ((SetupData.OwnerName[0])) + dwWizFlags |= PSWIZB_NEXT; + + PropSheet_SetWizButtons(GetParent(hwndDlg), dwWizFlags); if (SetupData.UnattendSetup) { - SendMessage(GetDlgItem(hwndDlg, IDC_OWNERNAME), WM_SETTEXT, 0, (LPARAM)SetupData.OwnerName); - SendMessage(GetDlgItem(hwndDlg, IDC_OWNERORGANIZATION), WM_SETTEXT, 0, (LPARAM)SetupData.OwnerOrganization); if (WriteOwnerSettings(SetupData.OwnerName, SetupData.OwnerOrganization)) { SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, IDD_COMPUTERPAGE); @@ -485,19 +508,9 @@ break; case PSN_WIZNEXT: - OwnerName[0] = 0; - if (GetDlgItemTextW(hwndDlg, IDC_OWNERNAME, OwnerName, 50) == 0) + if (GetDlgItemTextW(hwndDlg, IDC_OWNERNAME, SetupData.OwnerName, _countof(SetupData.OwnerName)) == 0) { - if (0 == LoadStringW(hDllInstance, IDS_REACTOS_SETUP, Title, sizeof(Title) / sizeof(Title[0]))) - { - wcscpy(Title, L"ReactOS Setup"); - } - if (0 == LoadStringW(hDllInstance, IDS_WZD_NAME, ErrorName, sizeof(ErrorName) / sizeof(ErrorName[0]))) - { - wcscpy(ErrorName, L"Setup cannot continue until you enter your name."); - } - MessageBoxW(hwndDlg, ErrorName, Title, MB_ICONERROR | MB_OK); - + /* Should never happen: if OWNERNAME is empty, WIZNEXT is disabled */ SetFocus(GetDlgItem(hwndDlg, IDC_OWNERNAME)); SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, -1); @@ -504,10 +517,9 @@ return TRUE; } - OwnerOrganization[0] = 0; - GetDlgItemTextW(hwndDlg, IDC_OWNERORGANIZATION, OwnerOrganization, 50); + GetDlgItemTextW(hwndDlg, IDC_OWNERORGANIZATION, SetupData.OwnerOrganization, _countof(SetupData.OwnerOrganization)); - if (!WriteOwnerSettings(OwnerName, OwnerOrganization)) + if (!WriteOwnerSettings(SetupData.OwnerName,SetupData. OwnerOrganization)) { SetFocus(GetDlgItem(hwndDlg, IDC_OWNERNAME)); SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, -1); @@ -644,13 +656,13 @@ WPARAM wParam, LPARAM lParam) { - WCHAR ComputerName[MAX_COMPUTERNAME_LENGTH + 1]; WCHAR Password1[128]; WCHAR Password2[128]; PWCHAR Password; WCHAR Title[64]; - WCHAR EmptyComputerName[256], NotMatchPassword[256], WrongPassword[256]; + WCHAR NotMatchPassword[256], WrongPassword[256]; LPNMHDR lpnm; + DWORD dwWizFlags; if (0 == LoadStringW(hDllInstance, IDS_REACTOS_SETUP, Title, sizeof(Title) / sizeof(Title[0]))) { @@ -660,12 +672,6 @@ switch (uMsg) { case WM_INITDIALOG: - /* Generate a new pseudo-random computer name */ - GenerateComputerName(ComputerName); - - /* Display current computer name */ - SetDlgItemTextW(hwndDlg, IDC_COMPUTERNAME, ComputerName); - /* Set text limits */ SendDlgItemMessage(hwndDlg, IDC_COMPUTERNAME, EM_LIMITTEXT, MAX_COMPUTERNAME_LENGTH, 0); SendDlgItemMessage(hwndDlg, IDC_ADMINPASSWORD1, EM_LIMITTEXT, 127, 0); @@ -675,11 +681,17 @@ SetFocus(GetDlgItem(hwndDlg, IDC_COMPUTERNAME)); if (SetupData.UnattendSetup) { - SendMessage(GetDlgItem(hwndDlg, IDC_COMPUTERNAME), WM_SETTEXT, 0, (LPARAM)SetupData.ComputerName); - SendMessage(GetDlgItem(hwndDlg, IDC_ADMINPASSWORD1), WM_SETTEXT, 0, (LPARAM)SetupData.AdminPassword); - SendMessage(GetDlgItem(hwndDlg, IDC_ADMINPASSWORD2), WM_SETTEXT, 0, (LPARAM)SetupData.AdminPassword); + SetDlgItemTextW(hwndDlg, IDC_COMPUTERNAME, SetupData.ComputerName); + SetDlgItemTextW(hwndDlg, IDC_ADMINPASSWORD1, SetupData.AdminPassword); + SetDlgItemTextW(hwndDlg, IDC_ADMINPASSWORD2, SetupData.AdminPassword); WriteComputerSettings(SetupData.ComputerName, NULL); SetAdministratorPassword(SetupData.AdminPassword); + } else { + /* Generate a new pseudo-random computer name */ + GenerateComputerName(SetupData.ComputerName); + + /* Display current computer name */ + SetDlgItemTextW(hwndDlg, IDC_COMPUTERNAME, SetupData.ComputerName); } /* Store the administrator account name as the default user name */ @@ -687,6 +699,25 @@ break; + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDC_COMPUTERNAME: + if (HIWORD(wParam) == EN_CHANGE) + { + dwWizFlags = PSWIZB_BACK; + + /* Enable the Next button if OWNERNAME is not empty */ + if (GetWindowTextW((HWND)lParam, SetupData.ComputerName, _countof(SetupData.ComputerName)) > 0) + dwWizFlags |= PSWIZB_NEXT; + + PropSheet_SetWizButtons(GetParent(hwndDlg), dwWizFlags); + } + break; + } + break; + + case WM_NOTIFY: { lpnm = (LPNMHDR)lParam; @@ -695,7 +726,12 @@ { case PSN_SETACTIVE: /* Enable the Back and Next buttons */ - PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT); + dwWizFlags = PSWIZB_BACK; + if ((SetupData.ComputerName[0])) + dwWizFlags |= PSWIZB_NEXT; + + PropSheet_SetWizButtons(GetParent(hwndDlg), dwWizFlags); + if (SetupData.UnattendSetup && WriteComputerSettings(SetupData.ComputerName, hwndDlg)) { SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, IDD_DATETIMEPAGE); @@ -704,14 +740,9 @@ break; case PSN_WIZNEXT: - if (0 == GetDlgItemTextW(hwndDlg, IDC_COMPUTERNAME, ComputerName, MAX_COMPUTERNAME_LENGTH + 1)) + if (0 == GetDlgItemTextW(hwndDlg, IDC_COMPUTERNAME, SetupData.ComputerName, MAX_COMPUTERNAME_LENGTH + 1)) { - if (0 == LoadStringW(hDllInstance, IDS_WZD_COMPUTERNAME, EmptyComputerName, - sizeof(EmptyComputerName) / sizeof(EmptyComputerName[0]))) - { - wcscpy(EmptyComputerName, L"Setup cannot continue until you enter the name of your computer."); - } - MessageBoxW(hwndDlg, EmptyComputerName, Title, MB_ICONERROR | MB_OK); + /* Should never happen: if COMPUTERNAME is empty, WIZNEXT is disabled */ SetFocus(GetDlgItem(hwndDlg, IDC_COMPUTERNAME)); SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, -1); return TRUE; @@ -720,7 +751,7 @@ /* No need to check computer name for invalid characters, * SetComputerName() will do it for us */ - if (!WriteComputerSettings(ComputerName, hwndDlg)) + if (!WriteComputerSettings(SetupData.ComputerName, hwndDlg)) { SetFocus(GetDlgItem(hwndDlg, IDC_COMPUTERNAME)); SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, -1);