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

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

Аватара для Gnom_aka_Lexander

Ветеран


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

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


Johny777, дык, элементарно добавить условие и все.

читать дальше »
Код: Выделить весь код
; перечисляем файлы через запятую, каждый в своих одинарных кавычках, все вместе - в двойных кавычках.
#define FNames "'hl2_update.exe', 'hl2_ep1_update.exe', 'hl2_ep2_update.exe', 'portal_update.exe'"

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[*code]
function GetFileCount(dir : string): Integer;
var
  FindFiles: TFindRec;
begin
  Result:= 0;
  if FindFirst(dir+'\*.*', FindFiles) then
  begin
    repeat
      if FindFiles.Attributes and FILE_ATTRIBUTE_DIRECTORY > 0 then Continue;
      case  ExtractFileName(FindFiles.Name) of
        {#FNames} : Result:= Result+1;
      end;
    until not FindNext(FindFiles);
    FindClose(FindFiles);
  end;
end;

procedure InitializeWizard();
begin
  WizardForm.WelcomeLabel1.Caption :=  IntToStr(GetFileCount(ExpandConstant('{pf}\Inno Setup 5')));
end;


в параметре dir функции GetFileCount указываешь нужную тебе папку, или папку, которую вернула функция выбора папки - не знаю, какую из них ты используешь, но смысл понятен, я думаю. так-же можно перечислять не множеством а по очереди и в зависимости от наличия-отсутствия определенного файла дисаблить-енаблить определенные чекбоксы обновления.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Последний раз редактировалось Gnom_aka_Lexander, 05-08-2012 в 13:07.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:01, 05-08-2012 | #534