Inno Setup (создание инсталяционных пакетов). Часть 2

Статус
В этой теме нельзя размещать новые ответы.

Suhov

Новичок
Snoopak96,
Код:
        if not ISArcExtract ( 1, 0, ExpandConstant('{src}\1.bin'), ExpandConstant('{app}'),  false, 'rus', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
       if not ISArcExtract ( 2, 0, ExpandConstant('{src}\1.bin'), ExpandConstant('{app}'),  false, 'ang', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
        if not ISArcExtract ( 3, 0, ExpandConstant('{src}\2.bin'), ExpandConstant('{app}'),  false, 'rus', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
        if not ISArcExtract ( 4, 0, ExpandConstant('{src}\2.bin'), ExpandConstant('{app}'),  false, 'ang', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
так почему то все распаковывает ><
 
Последнее редактирование:

Snoopak96

Старожил
Suhov,
:butcher: Читать по слогам вдумываясь в каждое слово:
function ISArcExtract(CurComponent:Cardinal; PctOfTotal:double; InName, OutPath, ExtractedPath: AnsiString; DeleteInFile:boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: boolean ):boolean; external 'ISArcExtract@files:ISDone.dll stdcall delayload';
распаковывает arc архив(ы), заданный(ые) папкой и именем файла в InputFile, в каталог, указанный в OutputPath.
ExtractedPath - используется для распаковки части архива. Указывается имя папки, которая будет извлечена. Если данная фитча не требуется, то оставляйте данный параметр пустой строкой. Значение '*' распаковывает весь архив с последующим извлечением всех подкаталогов из корневых папок архива (мож кому понадобится);
CfgFile - путь и имя конфигурационного файла (arc.ini). Требуется для распаковки .arc архивов, созданных с использованием внешних компрессоров;
WorkPath - рабочий путь для распаковки временных файлов freearc'ом. Если при распаковке архива freearc создает большие темп-файлы (обычно это происходит если используются внешние компрессоры), то рекомендуется устанавливать рабочую папку в {app}, а то у пользователя может не быть места на системном диске, куда по умолчанию freearc пытается поместить темп-файл;
Password - пароль для распаковки архива(ов);
ExtractPCF - может иметь значение true или false. При распаковке FreeArc архива определяет будут ли распаковываться .pcf файлы "на лету". При активации данного режима при извлечении из .arc архива для каждого распакованного файла с расширением .pcf будет запускаться precomp, извлекающий данные из этого файла в ту же папку, и после удаляющий исходный. По идее данный режим должен увеличить скорость распаковки FreeArc архивов, содержащий много небольших pcf файлов, потому как сразу после извлечения одного из них, пока он еще будет находиться в кэше винды, можно быстренько его обработать precomp'ом, с минимальным обращением к винчестеру. Но на практике у меня получалось иначе, по крайней мере на XP (возможно на Win7 такой способ и выиграет стандартный 7z(без сжатия)+precomp+freearc).
В скрипте для параметра ExtractPCF применены константы notPCFonFLY и PCFonFLY - это на самом деле просто соответственно false и true. Применение таких констант позволит избежать путаницы с другим подобным параметром в функции распаковки arc-архивов - удалением входного архива (DeleteInFile).

Например:
if not ISArcExtract (0, 100, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}\data'), '', false, 'Password', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), notPCFonFLY) then break;
распаковывает все архивы с расширением .arc из папки {src} (сканировать подкаталоги или нет задается в функции инициализации поиска FileSearchInit) в папку {app}\data\ без удаления исходного файла, с ручным распределением процентов (без тестового прогона, распределение происходит по размерам исходных архивов), паролем «Password», файлом конфигурации {tmp}\arc.ini и рабочей папкой в {app}, без извлечения .pcf файлов "на лету".
И скачай последнюю версию IsDone и юзай её.
 

Suhov

Новичок
Darck,
Код:
ISDoneError:=true;
if ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, Comps1,Comps2,Comps3, MainForm.Handle, {#NeedMem}, @ProgressCallback) then begin
  repeat
    if not FileSearchInit(false) then break;
    if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data00.arc'), ExpandConstant('{app}'), '', false, '', '', '', notPCFonFLY) then break;
    if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data00.arc'), ExpandConstant('{app}'), '', false, '', '', '', notPCFonFLY) then break;
    if not ShowChangeDiskWindow('Пожалуйста, вставьте диск 2 и дождитесь его инициализации.', ExpandConstant('{src}'),'data03.arc') then break;
    if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data02.arc'), ExpandConstant('{app}'), '', false, '', '', '', notPCFonFLY) then break;
    if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data03.arc'), ExpandConstant('{app}'), '', false, '', '', '', notPCFonFLY) then break;

    ISDoneError:=false;
  until true;
  ISDoneStop;
end;
Snoopak96, ссылку можно IsDone?
 

Adil

Старожил
Всем привет у меня вопрос как при BorderStyle := bsNone; сделать кнопки свернуть и закрыть как на этом скрипте
 

YURSHAT

Тех. админ
Администратор
как на этом скрипте
Мне кажется в скрипте, который на скрине просто скин, а не BorderStyle := bsNone;...

А вообще как-то так
 
  • Like
Реакции: Adil

Adil

Старожил
Добрый день люди:) Я тут полазил по botva2+b2p и понил что при вставки нового текста его родитель=wizardform,
и при переключении страницы текст остаётся на каждой странице. Кому не трудно можете дать простой пример скрипта,
чтобы например wizardform.welcomelabel1 был на wizardform.welcomepage. Помогите кому не трудно, а то просмотрел много скриптов и всё равно ничего ни понил.

Заранее Спасибо :)
 

PUNISHER

Участник
nazbek010,

если OuterNotebook и InnerNotebook скрыты
Код:
Procedure HideComponent(CurPageID: Integer);
begin
WelcomeLabel.Hide
end;

Procedure ShowComponent(CurPageID: Integer);
begin
case CurPageID of
wpWelcome:
begin
WelcomeLabel.Show;
end;
end;

Procedure CurPageChanged(CurPageID: Integer);
begin
HideComponent(CurPageID);
ShowComponent(CurPageID);
end;
 
  • Like
Реакции: Adil

PUNISHER

Участник
nazbek010, так же скрываются картинки, прогрессбары и т.д.

p.s обозначение страниц WpXXXX в справке найдешь.
 
  • Like
Реакции: Adil

Adil

Старожил
А откуда можно скачать учебник по паскаль+инно сетап
или такого нету
 

Adil

Старожил
Всем добрый вечер
У меня вопрос, можно ли как нибудь защитить картинки слайда или нет
просто у RG Element Arts картинки слайда не копируются в папку темп
 

Darck

Новичок
Всем привет хочу музыку себе на инсталлятор, что для этого нужно добавить и прописать!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху