Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 149
Благодарности: 38

Профиль | Отправить PM | Цитировать


Всем доброго дня!
Есть такая проблемка. Если у инсталлятора выставлена директива AlwaysRestart=yes, то чекбоксы секции Run с флагом postinstall (запускающие приложения после работы инсталлятора) перестают выводиться. Пыталась приколхозить такую галку руками
примерно так
Код: Выделить весь код
procedure InitializeWizard;
 begin  
  ConfCheckBox:=TNewCheckBox.Create(PageFromId(wpFinished));
  ConfCheckBox.parent:= PageFromId(wpFinished).surface;
  ConfCheckBox.top:=WizardForm.NoRadio.top + WizardForm.NoRadio.height + ScaleY(15);
  ConfCheckBox.left:=WizardForm.NoRadio.left;
  ConfCheckBox.caption:=ExpandConstant('{cm:runconf}');
  ConfCheckBox.checked:=false;
  WizardForm.NoRadio.onclick:=@RestartRadioOnClick; // чтобы галка дизейблилась,
  WizardForm.YesRadio.onclick:=@RestartRadioOnClick; // если выбрана перезагрузка
  WizardForm.NoRadio.checked:=true;
 end;

//запускать пыталась так
procedure CurStepChanged(CurStep: TSetupStep);
var i:integer;
begin
 case CurStep of
    ssDone:
    begin
     if  ConfCheckBox.checked then 
       Exec(ExpandConstant('{app}')+'\bin\Configurator.exe', '', '', SW_HIDE, ewNoWait, i);
    end;
 end;
end;

Но оно не работает. Подскажите плиз, есть ли какая настройка для галок postinstall в случае наличия директивы на промпт перезагрузки. Или если нет, то может как-то можно поправить мой код или еще как-то по-другому реализовать такую галку с запуском программы из кода?
UPD. Оказалось, все работает и проблема была в ошибке в имени файла

Последний раз редактировалось Shkutu, 10-11-2014 в 14:35.


Отправлено: 14:08, 10-11-2014 | #1922