Index: dll/win32/syssetup/wizard.c =================================================================== --- dll/win32/syssetup/wizard.c (revision 69557) +++ dll/win32/syssetup/wizard.c (working copy) @@ -438,6 +438,13 @@ return (res == ERROR_SUCCESS); } +static void +EnableNextWithUsername(HWND hwndDlg) +{ + INT nLength = SendDlgItemMessage(hwndDlg, IDC_OWNERNAME, WM_GETTEXTLENGTH, 0, 0); + PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | (nLength > 0 ? PSWIZB_NEXT: 0)); +} + static INT_PTR CALLBACK OwnerPageDlgProc(HWND hwndDlg, UINT uMsg, @@ -462,6 +469,11 @@ } break; + case WM_COMMAND: + { + EnableNextWithUsername(hwndDlg); + } + break; case WM_NOTIFY: { @@ -471,9 +483,9 @@ { case PSN_SETACTIVE: /* Enable the Back and Next buttons */ - PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT); if (SetupData.UnattendSetup) { + PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT); 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)) @@ -482,6 +494,7 @@ return TRUE; } } + EnableNextWithUsername(hwndDlg); break; case PSN_WIZNEXT: