Неадекватный,
небольшой апдейт к твоему скрипту
блокировка/разблокировка кнопки "далее" в зависимости от того есть ли текст во всех эдитах
припиши всем эдитам OnChange := @EditsOnChange; *(или в дизайнере во вкладке события назначь)
читать дальше »
Код:

procedure EditsOnChange(Sender: TObject);
begin
WizardForm.NextButton.Enabled := (NewEdit1.Text <> '') and (NewEdit2.Text <> '') and (NewEdit3.Text <> '') and (NewEdit4.Text <> '')and (NewEdit5.Text <> '');
end;
procedure RedesignWizardForm;
begin
....
NewEdit1 := TNewEdit.Create(WizardForm);
with NewEdit1 do
begin
....
OnChange := @EditsOnChange; /// пример
end;
....
end;
procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
ISCustomPage1.ID: WizardForm.NextButton.Enabled := (NewEdit1.Text <> '') and (NewEdit2.Text <> '') and (NewEdit3.Text <> '') and (NewEdit4.Text <> '')and (NewEdit5.Text <> '');
end;
end;
хотя не знаю являются ли твои настройки xml опициональными
полный код:
читать дальше »
Код:

[Setup]
AppName=Моё Программное Обеспечение
AppVersion=1.5
;AppVerName=Моё Программное Обеспечение 1.5
DefaultDirName={pf}\Моё Программное Обеспечение
DefaultGroupName=Моё Программное Обеспечение
OutputDir=.
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
[Languages]
Name: "Russian"; MessagesFile: "compiler:Languages\Russian.isl"
[Icons]
Name: "{group}\{cm:UninstallProgram,Моё Программное Обеспечение}"; Filename: "{uninstallexe}"
[CustomMessages]
Russian.Caption=Настройка профиля по умолчанию
Russian.Description=Настройте профиль в соответствии с вашим оператором
Russian.SettingsProfile=Настройка профиля
Russian.Operator=Оператор:
Russian.UserName=Имя пользователя:
Russian.Password=Пароль:
Russian.NumberDial=Номер набора:
Russian.APN=Точка доступа:
[ code]
var
ISCustomPage1: TWizardPage;
NewGroupBox1: TNewGroupBox;
NewStaticText1: TNewStaticText;
NewEdit1: TNewEdit;
NewStaticText2: TNewStaticText;
NewEdit2: TNewEdit;
NewStaticText3: TNewStaticText;
NewEdit3: TNewEdit;
NewStaticText4: TNewStaticText;
NewEdit4: TNewEdit;
NewStaticText5: TNewStaticText;
NewEdit5: TNewEdit;
procedure EditsOnChange(Sender: TObject);
begin
WizardForm.NextButton.Enabled := (NewEdit1.Text <> '') and (NewEdit2.Text <> '') and (NewEdit3.Text <> '') and (NewEdit4.Text <> '')and (NewEdit5.Text <> '');
end;
procedure RedesignWizardForm;
begin
ISCustomPage1 := CreateCustomPage(wpSelectDir, CustomMessage('Caption'), CustomMessage('Description'));
with ISCustomPage1.Surface do
begin
Name := 'ISCustomPage1';
end;
NewGroupBox1 := TNewGroupBox.Create(WizardForm);
with NewGroupBox1 do
begin
Name := 'NewGroupBox1';
Parent := ISCustomPage1.Surface;
Left := ScaleX(16);
Top := ScaleY(8);
Width := ScaleX(377);
Height := ScaleY(209);
Caption := CustomMessage('SettingsProfile');
end;
NewStaticText1 := TNewStaticText.Create(WizardForm);
with NewStaticText1 do
begin
Name := 'NewStaticText1';
Parent := NewGroupBox1;
Caption := CustomMessage('Operator');
Left := ScaleX(32);
Top := ScaleY(31);
Width := ScaleX(100);
Height := ScaleY(14);
end;
NewEdit1 := TNewEdit.Create(WizardForm);
with NewEdit1 do
begin
Name := 'NewEdit1';
Parent := NewGroupBox1;
Left := ScaleX(136);
Top := ScaleY(28);
Width := ScaleX(121);
Height := ScaleY(21);
Text := '';
OnChange := @EditsOnChange;
end;
NewStaticText2 := TNewStaticText.Create(WizardForm);
with NewStaticText2 do
begin
Name := 'NewStaticText2';
Parent := NewGroupBox1;
Caption := CustomMessage('UserName');
Left := ScaleX(32);
Top := ScaleY(57);
Width := ScaleX(100);
Height := ScaleY(14);
end;
NewEdit2 := TNewEdit.Create(WizardForm);
with NewEdit2 do
begin
Name := 'NewEdit2';
Parent := NewGroupBox1;
Left := ScaleX(136);
Top := ScaleY(53);
Width := ScaleX(121);
Height := ScaleY(21);
Text := '';
OnChange := @EditsOnChange;
end;
NewStaticText3 := TNewStaticText.Create(WizardForm);
with NewStaticText3 do
begin
Name := 'NewStaticText3';
Parent := NewGroupBox1;
Caption := CustomMessage('Password');
Left := ScaleX(32);
Top := ScaleY(80);
Width := ScaleX(100);
Height := ScaleY(14);
end;
NewEdit3 := TNewEdit.Create(WizardForm);
with NewEdit3 do
begin
Name := 'NewEdit3';
Parent := NewGroupBox1;
Left := ScaleX(136);
Top := ScaleY(77);
Width := ScaleX(121);
Height := ScaleY(21);
Text := '';
OnChange := @EditsOnChange;
end;
NewStaticText4 := TNewStaticText.Create(WizardForm);
with NewStaticText4 do
begin
Name := 'NewStaticText4';
Parent := NewGroupBox1;
Caption := CustomMessage('NumberDial');
Left := ScaleX(32);
Top := ScaleY(103);
Width := ScaleX(100);
Height := ScaleY(14);
end;
NewEdit4 := TNewEdit.Create(WizardForm);
with NewEdit4 do
begin
Name := 'NewEdit4';
Parent := NewGroupBox1;
Left := ScaleX(136);
Top := ScaleY(100);
Width := ScaleX(121);
Height := ScaleY(21);
Text := '';
OnChange := @EditsOnChange;
end;
NewStaticText5 := TNewStaticText.Create(WizardForm);
with NewStaticText5 do
begin
Name := 'NewStaticText5';
Parent := NewGroupBox1;
Caption := CustomMessage('APN');
Left := ScaleX(32);
Top := ScaleY(127);
Width := ScaleX(100);
Height := ScaleY(14);
end;
NewEdit5 := TNewEdit.Create(WizardForm);
with NewEdit5 do
begin
Name := 'NewEdit5';
Parent := NewGroupBox1;
Left := ScaleX(136);
Top := ScaleY(124);
Width := ScaleX(121);
Height := ScaleY(21);
Text := '';
OnChange := @EditsOnChange;
end;
NewStaticText1.TabOrder := 0;
NewEdit1.TabOrder := 1;
NewStaticText2.TabOrder := 2;
NewEdit2.TabOrder := 3;
NewStaticText3.TabOrder := 4;
NewEdit3.TabOrder := 5;
NewStaticText4.TabOrder := 6;
NewEdit4.TabOrder := 7;
NewStaticText5.TabOrder := 8;
NewEdit5.TabOrder := 9;
NewGroupBox1.TabOrder := 0;
end;
procedure InitializeWizard();
begin
RedesignWizardForm;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
ISCustomPage1.ID: WizardForm.NextButton.Enabled := (NewEdit1.Text <> '') and (NewEdit2.Text <> '') and (NewEdit3.Text <> '') and (NewEdit4.Text <> '')and (NewEdit5.Text <> '');
end;
end;