Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » Inno Setup плюс внешние упаковщики

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

Открыть новую тему     Написать ответ в эту тему

msatmb



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
При создании больших инсталяций в InnoSetup можно значительно уменьшить их размер, воспользовавшись более мощной упаковкой, чем встроенная. Особенностям применения внешних упаковщиков с InnoSetup посвящена данная тема
 
Варианты выбора:
 
RAR: упаковка в общем хуже чем встроенная, но есть куча доп. алгоритмов (тексты, мультимедиа), поэтому может давать выигрыш на некоторых типах данных. Распаковка: только через SFX
 
7-zip: тот же алгоритм упаковки, что и встроенный (lzma), но за счёт доп. алгоритмов bcj2, delta, lzma2, ppmd и большего словаря может обеспечить лучшее сжатие. Для наилучшего сжатия рекомендуется: 64-битная еерсия, 6гб ОЗУ, Ultra7z Optimizer. Распаковка: через SFX или dll от Expeditor
Модуль распаковки архивов 7z 1.01 [18.12.2008] от ExpeditorR
 
FreeArc: тот же базовый алгоритм упаковки (lzma), но наличие множества доп. алгоритмов может обеспечить большее сжатие. Распаковка: через SFX или dll
Модуль распаковки архивов FreeArc [10.07.2009] от Bulat_Ziganshin
 
NanoZip: наилучшее сжатие в редиме -cc (распаковка 1mb/s), оптимальный режим -cO (распаковка 5mb/s). Распаковка: только через SFX
 


Все остальное в родственных темах
 
Inno Setup (создание инсталяционных пакетов)
 
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - обсуждение того, какими утилитами/способами лучше сжимать, чтобы получить как можно меньший размер инсталятора.
 
FreeArc - бесплатный open-source архиватор для Windows и Linux, сочетающий высокую степень сжатия и большой набор возможностей

Всего записей: 178 | Зарегистр. 15-04-2007 | Отправлено: 08:31 11-11-2009 | Исправлено: juvaforza, 20:49 26-04-2011
Percey123

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sten23
Мне нужно упаковать архив с помощью Inno, потомучто так легче разбить инсталлятор на 2 диска. Если разбивать архивы по дискам, то нужно расписывать какой архив на какой диск (мне лучше без ISDone). Ну ладно, первую часть вопроса я решил, но как ПОСЛЕ УДАЧНОЙ распаковки УДАЛИТЬ архив из папки?

Всего записей: 35 | Зарегистр. 20-04-2011 | Отправлено: 07:37 14-08-2011
seregin78

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я прошу прощение за повтор, но я уже весь ваш сайт облазил, а проблему так и не решил. Если не трудно кто нибудь помогите с этим скриптом.
[ more]
#define NeedSize "5000000000"
 
#define NeedMem 512
 
#define Components
 
#define SecondProgressBar
 
#define records
#define precomp04
;#define precomp038
;#define unrar
 
[Setup]
AppName=ISDone
AppVerName=ISDone
DefaultDirName={pf}\ISDone
DefaultGroupName=ISDone Example
OutputDir=.
OutputBaseFilename=Setup
VersionInfoCopyright=ProFrager
SolidCompression=yes
Uninstallable=false
#ifdef NeedSize
ExtraDiskSpaceRequired={#NeedSize}
#endif
 
#ifdef Components
[Types]
Name: full; Description: Full installation; Flags: iscustom
 
;[Components]
;Name: text; Description: Язык субтитров; Types: full; Flags: fixed
;Name: text\rus; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 100000000
;Name: text\eng; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 200000000
;Name: voice; Description: Язык озвучки; Types: full; Flags: fixed
;Name: voice\rus; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 500000000
;Name: voice\eng; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 600000000
#endif
 
;[Registry]
;Root: HKLM; Subkey: Software\ProFrager; ValueName: path; ValueType: String; ValueData: {app}; Flags: uninsdeletekey; Check: CheckError
;Root: HKLM; Subkey: Software\ProFrager; ValueName: name; ValueType: String; ValueData: Data; Flags: uninsdeletekey; Check: CheckError
 
;[Icons]
;Name: {group}\Удалить пример ISDone; Filename: {app}\unins000.exe; WorkingDir: {app}; Check: CheckError
;Name: {commondesktop}\Удалить пример ISDone; Filename: {app}\unins000.exe; WorkingDir: {app}; Check: CheckError
 
;[Tasks]
;Name: VCCheck; Description: Установить Microsoft Visual C++ 2005 Redist
;Name: PhysXCheck; Description: Установить Nvidia PhysX
 
;[Run]
;Filename: {src}\Redist\vcredist_x86.exe; Parameters: /q; StatusMsg: Устанавливаем Microsoft Visual C++ 2005 Redist...; Flags: skipifdoesntexist; Tasks: VCCheck; Check: CheckError
;Filename: {src}\Redist\PhysX.exe; Parameters: /qn; StatusMsg: Устанавливаем Nvidia PhysX...; Flags: skipifdoesntexist; Tasks: PhysXCheck; Check: CheckError
 
[Files]
Source: BlackOps.exe; DestDir: {app}; Flags: ignoreversion
Source: changelog.txt; DestDir: {app}; Flags: ignoreversion
Source: Skidrow.ini; DestDir: {app}; Flags: ignoreversion
Source: skidrow.nfo; DestDir: {app}; Flags: ignoreversion
Source: steam_api.dll; DestDir: {app}; Flags: ignoreversion
Source: steam_appid.txt; DestDir: {app}; Flags: ignoreversion
Source: Steamclient.dll; DestDir: {app}; Flags: ignoreversion
Source: BlackOpsMP.exe; DestDir: {app}; Flags: ignoreversion
Source: main\iw_26.iwd; DestDir: {app}\main; Flags: ignoreversion
Source: zone\English\en_patch.ff; DestDir: {app}\zone\English; Flags: ignoreversion
Source: zone\English\en_patch_mp.ff; DestDir: {app}\zone\English; Flags: ignoreversion
Source: zone\Common\1.arc; DestDir: {app}\zone\Common; Flags: dontcopy
 
Source: ISDone.dll; DestDir: {app}; Flags: dontcopy
Source: Include\facompress.dll; DestDir: {tmp}; Flags: dontcopy
;Source: Include\arc.ini; DestDir: {tmp}; Flags: dontcopy
;Source: Include\srep.exe; DestDir: {tmp}; Flags: dontcopy
 
#ifdef records
Source: records.inf; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef precomp04
Source: Include\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\RTconsole.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp04.exe; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef precomp038
Source: Include\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\RTconsole.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\zlib1.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef unrar
Source: Include\Unrar.dll; DestDir: {tmp}; Flags: dontcopy
#endif
 
[Dirs]
Name: "{app}\main";
Name: "{app}\zone";
Name: "{app}\zone\Common";
Name: "{app}\zone\English";
 
[CustomMessages]
russian.ExtractedFile=Извлекается файл:
russian.Extracted=Распаковка архивов...
russian.CancelButton=Отменить распаковку
russian.Error=Ошибка распаковки!
russian.ElapsedTime=Прошло:
russian.RemainingTime=Осталось времени:
russian.EstimatedTime=Всего:
russian.AllElapsedTime=Время установки:
 
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
 
;[UninstallDelete]
;Type: filesandordirs; Name: {app}
 
[Code]
const
  PCFonFLY=true;
  notPCFonFLY=false;
var
  LabelPct1,LabelCurrFileName,LabelTime1,LabelTime2,LabelTime3: TLabel;
  ISDoneProgressBar1: TNewProgressBar;
#ifdef SecondProgressBar
  LabelPct2: TLabel;
  ISDoneProgressBar2:TNewProgressBar;
#endif
  MyCancelButton: TButton;
  Cancel:integer;
  MyError:boolean;
  PCFVer:double;
 
type
  TCallback = function (OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword;
 
function WrapMyCallback(callback:TCallback; paramcount:integer):longword;external 'wrapcallback@files:ISDone.dll stdcall';
 
function ISArcExtract(CurComponent:longword; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: BOOL ):BOOL; external 'ISArcExtract@files:ISDone.dll stdcall';
function IS7ZipExtract(CurComponent:longword; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; Password: AnsiString):BOOL; external 'IS7zipExtract@files:ISDone.dll stdcall';
function ISRarExtract(CurComponent:longword; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; Password: AnsiString):BOOL; external 'ISRarExtract@files:ISDone.dll stdcall';
function ISPrecompExtract(CurComponent:longword; PctOfTotal:double; InName, OutFile: AnsiString; DeleteInFile:boolean):BOOL; external 'ISPrecompExtract@files:ISDone.dll stdcall';
function ISSRepExtract(CurComponent:longword; PctOfTotal:double; InName, OutFile: AnsiString; DeleteInFile:boolean):BOOL; external 'ISSrepExtract@files:ISDone.dll stdcall';
function ShowChangeDiskWindow(Text, DefaultPath, SearchFile:AnsiString):BOOL; external 'ShowChangeDiskWindow@files:ISDone.dll stdcall';
function ISDoneInitialize(RecordFileName:AnsiString; TimeType,Comp1,Comp2,Comp3:longword; PrecompVers: double; RecursiveSubDir:boolean; WinHandle, NeededMem:longint; callback:TCallback):BOOL; external 'ISDoneInitialize@files:ISDone.dll stdcall';
function ISDoneStop:BOOL; external 'ISDoneStop@files:ISDone.dll stdcall';
 
function ProgressCallback(OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword;
begin
  if OveralPct<=1000 then ISDoneProgressBar1.Position := OveralPct;
  LabelPct1.Caption := IntToStr(OveralPct div 10)+'.'+chr(48 + OveralPct mod 10)+'%';
#ifdef SecondProgressBar
  if CurrentPct<=1000 then
    ISDoneProgressBar2.Position := CurrentPct;
  LabelPct2.Caption := IntToStr(CurrentPct div 10)+'.'+chr(48 + CurrentPct mod 10)+'%';
#endif
  LabelCurrFileName.Caption:=MinimizePathName(ExpandConstant('{cm:ExtractedFile} ')+CurrentFile, LabelCurrFileName.Font, LabelCurrFileName.Width);
  LabelTime1.Caption:=ExpandConstant('{cm:ElapsedTime} ')+TimeStr2;
  LabelTime2.Caption:=ExpandConstant('{cm:RemainingTime} ')+TimeStr1;
  LabelTime3.Caption:=ExpandConstant('{cm:AllElapsedTime}')+TimeStr3;
  Result := Cancel;
end;
 
procedure CancelButtonOnClick(Sender: TObject);
begin
  if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then Cancel:=1;
end;
 
procedure HideComponents;
begin
  WizardForm.FileNamelabel.Hide;
  ISDoneProgressBar1.Hide;
  LabelPct1.Hide;
  LabelCurrFileName.Hide;
  LabelTime1.Hide;
  LabelTime2.Hide;
  MyCancelButton.Hide;
#ifdef SecondProgressBar
  ISDoneProgressBar2.Hide;
  LabelPct2.Hide;
#endif
end;
 
procedure ShowComponents;
var PBTop:integer;
begin
  PBTop:=ScaleY(50);
  ISDoneProgressBar1 := TNewProgressBar.Create(WizardForm);
  with ISDoneProgressBar1 do begin
    Parent   := WizardForm.InstallingPage;
    Height   := WizardForm.ProgressGauge.Height;
    Left     := ScaleX(0);
    Top      := PBTop;
    Width    := ScaleX(365);
    Max      := 1000;
  end;
  LabelPct1 := TLabel.Create(WizardForm);
  with LabelPct1 do begin
    Parent    := WizardForm.InstallingPage;
    AutoSize  := False;
    Left      := ISDoneProgressBar1.Width+ScaleX(5);
    Top       := ISDoneProgressBar1.Top + ScaleY(2);
    Width     := ScaleX(80);
  end;
  LabelCurrFileName := TLabel.Create(WizardForm);
  with LabelCurrFileName do begin
    Parent   := WizardForm.InstallingPage;
    AutoSize := False;
    Width    := ISDoneProgressBar1.Width+ScaleX(30);
    Left     := ScaleX(0);
    Top      := ScaleY(30);
  end;
#ifdef SecondProgressBar
  PBTop:=PBTop+ScaleY(25);
  ISDoneProgressBar2 := TNewProgressBar.Create(WizardForm);
  with ISDoneProgressBar2 do begin
    Parent   := WizardForm.InstallingPage;
    Left     := ScaleX(0);
    Top      := PBTop+ScaleY(8);
    Width    := ISDoneProgressBar1.Width;
    Max      := 1000;
    Height   := WizardForm.ProgressGauge.Height;
  end;
  LabelPct2 := TLabel.Create(WizardForm);
  with LabelPct2 do begin
    Parent    := WizardForm.InstallingPage;
    AutoSize  := False;
    Left      := ISDoneProgressBar2.Width+ScaleX(5);
    Top       := ISDoneProgressBar2.Top + ScaleY(2);
    Width     := ScaleX(80);
  end;
#endif
  LabelTime1 := TLabel.Create(WizardForm);
  with LabelTime1 do begin
    Parent   := WizardForm.InstallingPage;
    AutoSize := False;
    Width    := ISDoneProgressBar1.Width div 2;
    Left     := ScaleX(0);
    Top      := PBTop + ScaleY(35);
  end;
  LabelTime2 := TLabel.Create(WizardForm);
  with LabelTime2 do begin
    Parent   := WizardForm.InstallingPage;
    AutoSize := False;
    Width    := LabelTime1.Width+ScaleX(40);
    Left     := ISDoneProgressBar1.Width div 2;
    Top      := LabelTime1.Top;
  end;
  LabelTime3 := TLabel.Create(WizardForm);
  with LabelTime3 do begin
    Parent   := WizardForm.FinishedPage;
    AutoSize := False;
    Width    := 300;
    Left     := 180;
    Top      := 200;
  end;
  MyCancelButton:=TButton.Create(WizardForm);
  with MyCancelButton do begin
    Parent:=WizardForm;
    Width:=ScaleX(135);
    Caption:=ExpandConstant('{cm:CancelButton}');
    Left:=ScaleX(360);
    Top:=WizardForm.cancelbutton.top;
    OnClick:=@CancelButtonOnClick;
  end;
end;
 
Procedure CurPageChanged(CurPageID: Integer);
Begin
  if (CurPageID = wpFinished) and MyError then
  begin
    LabelTime3.Hide;
    WizardForm.Caption:= ExpandConstant('{cm:Error}');
    WizardForm.FinishedLabel.Font.Color:= clRed;
    WizardForm.FinishedLabel.Caption:= SetupMessage(msgSetupAborted) ;
  end;
end;
 
function CheckError:boolean;
begin
  result:= not MyError;
end;
 
procedure CurStepChanged(CurStep: TSetupStep);
var Comps1,Comps2,Comps3, TmpValue:longword;
    tmp:integer;
begin
  if CurStep = ssInstall then begin  //Если необходимо, можно поменять на ssPostInstall
    WizardForm.ProgressGauge.Hide;
    WizardForm.CancelButton.Hide;
    ShowComponents;
    WizardForm.StatusLabel.Caption:=ExpandConstant('{cm:Extracted}');
    Cancel:=0;
 
// Распаковка всех необходимых файлов в папку {tmp}.
 
    ExtractTemporaryFile('facompress.dll'); //ускоряет распаковку .arc архивов.
//    ExtractTemporaryFile('arc.ini');
//    ExtractTemporaryFile('srep.exe');
 
#ifdef records
    ExtractTemporaryFile('records.inf');
#endif
#ifdef precomp04
    ExtractTemporaryFile('packjpg_dll.dll');
    ExtractTemporaryFile('RTconsole.exe');
    ExtractTemporaryFile('precomp04.exe');
#endif
#ifdef precomp038
    ExtractTemporaryFile('packjpg_dll.dll');
    ExtractTemporaryFile('RTconsole.exe');
    ExtractTemporaryFile('precomp038.exe');
    ExtractTemporaryFile('zlib1.dll');
#endif
#ifdef unrar
    ExtractTemporaryFile('Unrar.dll');
#endif
 
// Подготавливаем переменную, содержащую всю информацию о выделенных компонентах для ISDone.dll
// максимум 96 компонентов.
    Comps1:=0; Comps2:=0; Comps3:=0;
#ifdef Components
    TmpValue:=1;
    if IsComponentSelected('text\rus') then Comps1:=Comps1+TmpValue;     //компонент 1
    TmpValue:=TmpValue*2;
    if IsComponentSelected('text\eng') then Comps1:=Comps1+TmpValue;     //компонент 2
    TmpValue:=TmpValue*2;
    if IsComponentSelected('voice\rus') then Comps1:=Comps1+TmpValue;    //компонент 3
    TmpValue:=TmpValue*2;
    if IsComponentSelected('voice\eng') then Comps1:=Comps1+TmpValue;    //компонент 4
//    .....
#endif
 
#ifdef precomp04
    PCFVer:=0.4;
#else
#ifdef precomp038
    PCFVer:=0.38;
#else
    PCFVer:=0;
#endif
#endif
    repeat
      MyError:=true;
      if not ISDoneInitialize(ExpandConstant('{src}\records.inf'), $F777, Comps1,Comps2,Comps3, PCFVer, false, MainForm.Handle, {#NeedMem}, @ProgressCallback) then break;
      repeat
 
//        if not ISArcExtract ( 0, 0, ExpandConstant('{src}*.arc'), ExpandConstant('{app}\zone\Common'),  false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
 
//     далее находятся закомментированые примеры различных комбинаций параметров и функций распаковки
 
//        if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Spider.arc'), ExpandConstant('{app}'),  false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
//        if not ISSRepExtract( 0, 0, ExpandConstant('{app}\data1024_1024.srep'),ExpandConstant('{app}\data1024.arc'), true                         ) then break;
//        if not ISArcExtract ( 0, 0, ExpandConstant('{app}\data1024.arc'), ExpandConstant('{app}'),  true, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
 
//        if not IS7ZipExtract   ( 0, 0, ExpandConstant('{src}\data64.7z'),   ExpandConstant('{app}'),           false, ''                     ) then break;
//        if not ISSRepExtract   ( 0, 0, ExpandConstant('{app}\data64a.srep'),ExpandConstant('{app}\data64.arc'), true                         ) then break;
//        if not ISArcExtract    ( 0, 0, ExpandConstant('{app}\data64.arc'),  ExpandConstant('{app}\'),           true, '', '', '',notPCFonFLY ) then break;
//        if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\data.pcf'),    ExpandConstant('{app}\data.7z'),    true                         ) then break;
//        if not IS7ZipExtract   ( 0, 0, ExpandConstant('{app}\data.7z'),     ExpandConstant('{app}\'),           true, ''                     ) then break;
 
        if not ISArcExtract    ( 0, 0, ExpandConstant('{src}\zone\Common\1.arc'),        ExpandConstant('{app}\zone\Common'),            false, '', '', '', notPCFonFLY ) then break;
//        if not IS7ZipExtract   ( 0, 0, ExpandConstant('{src}\1.arc'),   ExpandConstant('{app}\zone\Common'),           false, ''                     ) then break;
        if not ISSRepExtract   ( 0, 0, ExpandConstant('{app}\zone\Common\1.srep'), ExpandConstant('{app}\zone\Common\1.pcf'), true                           ) then break;
        if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\zone\Common\1.pcf'),  ExpandConstant('{app}\zone\Common\1.7z'),  true                           ) then break;
        if not IS7ZipExtract   ( 0, 0, ExpandConstant('{app}\zone\Common\1.7z'),   ExpandConstant('{app}\zone\Common'),            true,  ''                      ) then break;
 
 
//  примеры использования компонентов и всплывающего запроса следующего диска:
 
//        if not ShowChangeDiskWindow('Пожалуйста, вставьте диск 2 и дождитесь его инициализации.', ExpandConstant('{src}'),'CODMW2_Disk2.arc'               ) then break;
//        if not ISArcExtract ( 1, 0, ExpandConstant('{src}\rustext.arc'),  ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
//        if not ISArcExtract ( 2, 0, ExpandConstant('{src}\engtext.arc'),  ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
//        if not ISArcExtract ( 3, 0, ExpandConstant('{src}\rusvoice.arc'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
//        if not ISArcExtract ( 4, 0, ExpandConstant('{src}\engvoice.arc'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
 //       if not ShowChangeDiskWindow('Пожалуйста, вставьте первый диск и дождитесь его инициализации.', ExpandConstant('{src}'),'CODMW_2.arc'               ) then break;
 
//  просто различные комбинации параметров в функциях распаковки
 
//        if not ISArcExtract    ( 0, 0, ExpandConstant('{src}\sds_ru2.arc'), ExpandConstant('{app}\data1'),  false, '', '', ExpandConstant('{app}\data1'), PCFonFLY) then break;
//        if not ISArcExtract    ( 0, 0, ExpandConstant('{src}\sds_ru.arc'),  ExpandConstant('{app}\data1'),  false, '', '', ExpandConstant('{app}\data1'), PCFonFLY) then break;
 
//        if not ISPrecompExtract( 0, 0, ExpandConstant('{src}\data1\*.pcf'),     ExpandConstant('{src}\data1'), false) then break;
//        if not IS7ZipExtract   ( 0, 0, ExpandConstant('{src}\data1\sds_ru.7z'), ExpandConstant('{src}\data1'), true,  '') then break;
 
//        if not ISRarExtract    ( 0, 0, ExpandConstant('{src}\data_*.rar'), ExpandConstant('{app}'), false, ''         ) then break;
//        if not ISRarExtract    ( 0, 0, ExpandConstant('{src}\*part1.rar'), ExpandConstant('{app}'), false, 'Password' ) then break;
 
//        if not IS7ZipExtract   ( 0, 0, ExpandConstant('{src}\data*.7z'), ExpandConstant('{app}\data1'), false, '' ) then break;
//        if not IS7ZipExtract   ( 0, 0, ExpandConstant('{src}\sound.7z'), ExpandConstant('{app}\data1'), false, '' ) then break;
 
//        if not ISArcExtract    ( 0, 33, ExpandConstant('{src}\dataR.arc'),   ExpandConstant('{app}\data1'),  false, '', '', '',notPCFonFLY) then break;
//        if not ISArcExtract    ( 0, 33, ExpandConstant('{src}\CODMW_*.arc'), ExpandConstant('{app}\data1'),  false, '', '', '',notPCFonFLY) then break;
//        if not ISArcExtract    ( 0, 34, ExpandConstant('{src}\dataR.arc'),   ExpandConstant('{app}\data1\'), false, '', '', '',notPCFonFLY) then break;
 
//        if not ISPrecompExtract( 0, 0, ExpandConstant('{src}\*.pcf'),     ExpandConstant('{app}\data1'), false) then break;
//        if not ISPrecompExtract( 0, 0, ExpandConstant('{src}\data0.pcf'), ExpandConstant('{app}\data1'), false) then break;
 
//        if not ISSRepExtract   ( 0, 0, ExpandConstant('{src}\*.srep'),      ExpandConstant('{app}\data1\'),         false) then break;
//        if not ISSRepExtract   ( 0, 0, ExpandConstant('{src}\data02.srep'), ExpandConstant('{app}\data1\data.pcf'), false) then break;
 
        MyError:=false;
      until true;
      ISDoneStop;
    until true;
    HideComponents;
    WizardForm.CancelButton.Visible:=true;
    WizardForm.CancelButton.Enabled:=false;
  end;
  if (CurStep=ssPostInstall) and MyError then begin
    Exec(ExpandConstant('{uninstallexe}'), '/SILENT','', sw_Hide, ewWaitUntilTerminated, tmp);
  end;
end;
[ /more]
Компилится нормально, но работает только из папки со скриптом из любой другой выдает ошибку Не найдено ни одного файла указанного для ISArcExtract. кто может подсказать в чем проблема вроде все пути я указал правильно.

Всего записей: 6 | Зарегистр. 19-08-2011 | Отправлено: 02:56 19-08-2011
WaRlInE



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
seregin78, про теги code, more ничего не слышали?
 
Читайте правила!

Всего записей: 239 | Зарегистр. 02-02-2007 | Отправлено: 03:36 19-08-2011
seregin78

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу прощения. А на мой вопрос ответ имеется?

Всего записей: 6 | Зарегистр. 19-08-2011 | Отправлено: 09:43 19-08-2011
CrasH19091993



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hgfh

Всего записей: 1 | Зарегистр. 18-08-2011 | Отправлено: 00:08 23-08-2011 | Исправлено: CrasH19091993, 00:08 23-08-2011
zapaska



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите пожалуйста как зделан этот репак? http://bestrepack.net/forum/viewtopic.php?t=6774
я всё испробовал и winrar и 7z... не смог открыть архивы...
установил попробовал сжать также но выходит 380мб!
пасибо)

Всего записей: 4 | Зарегистр. 28-08-2011 | Отправлено: 20:22 28-08-2011
ALExey1995



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zapaska
там cab архивы вроде

Всего записей: 212 | Зарегистр. 07-11-2010 | Отправлено: 01:06 30-08-2011
zapaska



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ALExey1995
Вот!
Я же говорю что пытался всем открыть: winrar 7z

Всего записей: 4 | Зарегистр. 28-08-2011 | Отправлено: 07:38 30-08-2011
ssv14

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, кто-нибудь может помочь с ISDone 0.6b? делаю инстал инно, использую ssPostInstal в скрипте примера, жму LZMA самим инно файл data.7z.pcf.srep, распаковываю в обратном порядке,  но после распаковки data.7z ISdone никак не хочет удалять файлы 7z из папки игры. Кто-то знает как починить?
 

Код:
 
if not ISSRepExtract   ( 0, 30, ExpandConstant('{app}\*.srep'), ExpandConstant('{app}'), true) then break;
 
if not ISPrecompExtract( 0, 30, ExpandConstant('{app}\data.pcf'), ExpandConstant('{app}\data.7z'), true) then break;
 
if not ISPrecompExtract( 0, 20, ExpandConstant('{app}\media.pcf'), ExpandConstant('{app}\media.7z'), true) then break;
 
if not IS7ZipExtract   ( 0, 20, ExpandConstant('{app}\*.7z'), ExpandConstant('{app}'), true, '') then break;
 

Всего записей: 28 | Зарегистр. 07-09-2007 | Отправлено: 12:27 30-08-2011 | Исправлено: ssv14, 12:35 30-08-2011
salli1982

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день, помогите пожалуйста! На рабочем столе появляется ярлык для запуска игры но он не отображает само изображение ярлыка, просто как листок бумаги. Игра запускается, exe-шник находится в папке System. Почему не отображается изображение иконки игры на дескопе, только белый листок но игра запускается. Заранее огромное спасибо Друзья!  
 
Name: {userdesktop}\Duke Nukem Forever; Filename: {app}\System\DukeForever.exe; IconFilename: {app}\icon.ico; WorkingDir: {app}; Check: Desktop;
Name: {group}\{cm:UninstallProgram,Duke Nukem Forever}; Filename: {uninstallexe}; IconFilename: {app}\5.ico; Comment: Удалить игру; Check: NoIcons;
Name: {group}\Duke Nukem Forever; Filename: {app}\System\DukeForever.exe; IconFilename: {app}\icon.ico; WorkingDir: {app}; Comment: Запустить игру; Check: NoIcons;

Всего записей: 3 | Зарегистр. 30-08-2011 | Отправлено: 14:17 30-08-2011
ssv14

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
salli1982
ты забыл везде где {...} и где Comment: двойные кавычки поставить,
надо так

Код:
 
Name: "{userdesktop}\Duke Nukem Forever"; Filename: "{app}\System\DukeForever.exe"; IconFilename: "{app}\icon.ico"; WorkingDir: "{app}"; Check: Desktop;
Name: "{group}\{cm:UninstallProgram,Duke Nukem Forever}"; Filename: "{uninstallexe}"; IconFilename: "{app}\5.ico"; Comment: "Удалить игру"; Check: NoIcons;
Name: "{group}\Duke Nukem Forever"; Filename: "{app}\System\DukeForever.exe"; IconFilename: "{app}\icon.ico"; WorkingDir: "{app}"; Comment: "Запустить игру"; Check: NoIcons;
 

Всего записей: 28 | Зарегистр. 07-09-2007 | Отправлено: 15:17 30-08-2011 | Исправлено: ssv14, 15:25 30-08-2011
salli1982

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ssv14
Спасибо огромное при огромное, выручили, всё работает как надо!
 
Извеняюсь за не скромность но у меня ещё есть три вопроса, если сможете то ответе пожалуйста.
 
1: При установки данного дополнения выдаёт ошибку, что не так?:

Код:
[Run]
Filename: {src}\Redist\DirectX\DXSETUP.exe; WorkingDir: {src}\Redist\DirectX\; Parameters: /silent; Flags: waituntilterminated; Check: DirectX and not InstallRedist; BeforeInstall: DirectXProgress;
Filename: {src}\Redist\VisualC++\vcredist_x86.exe; WorkingDir: {src}\Redist\VisualC++\; Parameters: /q; Flags: waituntilterminated; Check: visualc and not IsWin64 and not InstallRedist; BeforeInstall: visualcProgress;
Filename: {src}\Redist\VisualC++\vcredist_x64.exe; WorkingDir: {src}\Redist\VisualC++\; Parameters: /q; Flags: waituntilterminated; Check: visualc and IsWin64 and not InstallRedist; BeforeInstall: visualcProgress;

 
2: Как скрыть распаковку архивов в директорию, просто что бы был виден только процент распаковки. Раньше знал этот код но со временем забыл его, он ставился в конце и в начали вот этого:

Код:
MyError:=true;
       //if not ISArcExtract    ( 0, OveralPct, 0, ExpandConstant('{src}\Data.salli'),  ExpandConstant('{app}'),                false,CallBack, '',    '',     '') then break;
       //if not ISSRepExtract   ( 0, OveralPct, 0, ExpandConstant('{app}\White Gold.srp'), ExpandConstant('{app}\White Gold.7z'), '', true, CallBack                 ) then break;
       //if not ISPrecompExtract( 0, OveralPct, 0, ExpandConstant('{app}\NFS.pcf'),  ExpandConstant('{app}\NFS.7z'),      true, CallBack                  ) then break;
       //if not IS7ZipExtract   ( 0, OveralPct, 0, ExpandConstant('{app}\White Gold.7z'),   ExpandConstant('{app}'),                true, CallBack, ''               ) then break;
MyError:=false;

 
3: Как правильно прописать:

Код:
[Registry]
Root: HKLM; Subkey: "SOFTWARE\Duke Nukem Forever"; ValueName: path; ValueType: string; ValueData: {app}; Flags: uninsdeletevalue uninsdeletekeyifempty;

Это последнее что меня интересует, остальное всё наладил, ещё раз огромное спасибо за ответы!

Всего записей: 3 | Зарегистр. 30-08-2011 | Отправлено: 16:47 30-08-2011 | Исправлено: salli1982, 16:52 30-08-2011
ssv14

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
на 1 и 3 ты снова забыл везде поставить двойные кавычки ("), а на 2 не знаю
всегда должно быть типа
Filename: "";
WorkingDir: "";
Parameters: "";
ValueName: "";  
ValueType: "";
ValueData: "";
 
и все свои данные пишешь между двойными кавычками, ты только Subkey: "" верно написал
 
интересно, а мне кто-нибудь поможет?
 
разобрался, всем спасибо  
нужна была другая dll в которой потоки закрываются после обработки

Всего записей: 28 | Зарегистр. 07-09-2007 | Отправлено: 17:00 30-08-2011 | Исправлено: ssv14, 20:31 30-08-2011
ALExey1995



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zapaska

Цитата:
выходит 380мб!

 
 я пожал всё в лосслессе у меня вышло 305 без софта.

Всего записей: 212 | Зарегистр. 07-11-2010 | Отправлено: 15:08 31-08-2011
salli1982

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скачал установщик Xenus2 botva2 ISDone0.5, работает на ура, но почему то когда распаковывается архив pcf после srp оба прогрессбара замирают и не дают информацию по распаковыванию pcf после определённого времени оба прогресбара показывают резко процент и потом уже нормально добирают где-то 20%, архив 7Z распаковывается правильно. Кто знает в чём дело, подскажите пожалуйста, заранее огромное спасибо!

Всего записей: 3 | Зарегистр. 30-08-2011 | Отправлено: 18:09 01-09-2011 | Исправлено: salli1982, 02:42 03-09-2011
simka84

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
пожалуйста помогите решить проблему:  
 
ISDone.dll
Произошла ошибка при распаковке: Невозможно считать данные!
Unarc.dll вернул код ошибки: -6
ERROR:file read operation failed
 
как исправить ошибку?!!!!! что делать?

Всего записей: 1 | Зарегистр. 02-09-2011 | Отправлено: 14:48 02-09-2011
VAMPIRE19972



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста вот на этой строчке выскакивает ошибка:
Source: records.inf; DestDir: {tmp}; Flags: dontcopy
Вот ошибка:
Source file:C:\users\desktop\records.inf does not exist

Всего записей: 2 | Зарегистр. 01-10-2011 | Отправлено: 17:08 01-10-2011
SpYAndrey

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем, у меня не получается сжимать с Srep и Precomp.
Если сжать File->Srep->7z, то размер выходит больше чем File->7z
Параметры srep "file"
 
А с Precomp у меня на всех файлах размер выходит такой же как на входе, или даже меньше.
Хотя должен быть больше, параметры:
precomp -c- -t-j "file"
Что я делаю не так?

Всего записей: 2 | Зарегистр. 01-10-2011 | Отправлено: 18:33 01-10-2011
VAMPIRE19972



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если у кого тоже такая проблема как у меня была то нужно было скачать QuickStart Pack
вот ссылка: http://www.jrsoftware.org/isdl.php#qsp.

Всего записей: 2 | Зарегистр. 01-10-2011 | Отправлено: 20:07 01-10-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SpYAndrey
попробуй с параметром -slow
а с srep, попробуй srep -l128 или srep -l64
если не меньше 90% то можно даже не использовать

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 15:07 03-10-2011 | Исправлено: kalpak, 15:11 03-10-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » Inno Setup плюс внешние упаковщики


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru