Скрипты Inno Setup. Помощь и советы [часть 3]

Ответить
 • Просмотры: 49
Аватара пользователя
murlakatamenka

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение murlakatamenka »

serhio, 1) в конце какой процедуры ? в конце установки ?

обычно доп по делается через секцию [Tasks] и [Run], с доп по сам пару месяцеев назад разбирался, вот примерчик



Код:

Код: Выделить всё

[Tasks]
Name: additional; Description: "Дополнительное ПО";
Name: additional\dx; Description: "Обновить DirectX"; Flags: unchecked
Name: additional\vcr; Description: "Обновить библиотеки Visual C++"; Flags: unchecked;
...
[Run]
Filename: {src}\Redist\DirectX\dxsetup.exe; Tasks: additional\dx; StatusMsg: Установка DirectX; Parameters: /silent;
Filename: {src}\Redist\vcredist_x86.exe; Tasks: additional\vcr; StatusMsg: Обновление библиотек  Visual C++; Parameters: /q;

2) для распаковки .arc используйте ISDone, замечательная dll, которая идёт вместе с примерным скриптом и подробным и толковым описанием в .chm-файле
Аватара пользователя
serhio

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение serhio »

murlakatamenka, Да,в конце установки программы.
Аватара пользователя
serhio

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение serhio »

serhio, смотрите предыдущий пост, отредактировал его.

ещё в секцию [Setup] можно добавить



Код:

Код: Выделить всё

ShowTasksTreeLines=true

тогда появятся соединяющие линии (так имхо красивее и немного удобней)
Аватара пользователя
LinkOFF

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение LinkOFF »

Цитата Neutron:



Кстати рядом с инсталлятором лежит файл Notes.ini,
»




лотус нотус чтоли переделываешь?
Аватара пользователя
LinkOFF

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение LinkOFF »

murlakatamenka, Пожалуйста добавь а то у меня не получается

мне пишет Type mismatch.Что делать?
Аватара пользователя
Imitri7

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Imitri7 »

требуется изменить цвет прогрессбара + чтобы обязательно показывались проценты

есть вот такая нараблтка

PHP код:

Код: Выделить всё

function SetWindowTheme(hwnd: HWND; pszSubAppName: pchar; pszSubIdList: pchar): Longint; external 'SetWindowTheme@uxtheme.dll stdcall delayload';

Procedure InitializeWizard();

begin

try

SetWindowTheme(wizardform.progressgauge.Handle, ' ', ' ');

except

end

end;

procedure CurPageChanged(CurPageID: Integer);

begin

if CurPageID=wpSelectDir then

SendMessage(wizardform.progressgauge.Handle, $0409, 0, $000977FF); 

Аватара пользователя
murlakatamenka

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение murlakatamenka »

vovka1021, не нашёл, если ставить цвет clNone, то получается чёрный
Аватара пользователя
serhio

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение serhio »

Всем привет! Подскажите пожалуйсто как решить эту проблемку?
Вложения

[Расширение png было запрещено, вложение больше недоступно.]

Аватара пользователя
murlakatamenka

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение murlakatamenka »

Цитата serhio:



расширение папок
Скрипты Inno Setup. Помощь и советы [часть 3]




у папок нету расширений, есть у файлов

LinkOFF, у ISDone есть свой второй прогрессбар, если что:



Код:

Код: Выделить всё

#define SecondProgressBar

добавить на InstallingPage можно так например



Код:

Код: Выделить всё

[Коде]
var
  NewProgressBar1: TNewProgressBar;
procedure InitializeWizard();
begin
  { NewProgressBar1 }
  NewProgressBar1 := TNewProgressBar.Create(WizardForm);
  with NewProgressBar1 do
  begin
    Parent := WizardForm.InstallingPage;
    Left := ScaleX(0);
    Top := ScaleY(88);
    Width := ScaleX(417);
    Height := ScaleY(25);
  end;
end;

ну и надо привязать изменение NewProgressBar1.Position к чему-нибудь, чтобы прогрессбар работал Изображение
Аватара пользователя
Dark_Delphin

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Dark_Delphin »

Изображение

Как убрать серый фон?

Вот скрипт

читать дальше »


#define NeedSize "10000000000"

#define Components

;#define records

;#define precomp04

#define precomp038

;#define unrar

[Setup]

AppName=ISDone

AppVerName=ISDone

DefaultDirName={pf}\ISDone

OutputDir=.

OutputBaseFilename=Setup

SolidCompression=yes

#ifdef NeedSize

ExtraDiskSpaceRequired={#NeedSize}

#endif

WizardImageFile=img.bmp

WizardSmallImageFile=img.bmp

#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

[Files]

Source: ISDone.dll; DestDir: {tmp}; Flags: dontcopy

Source: Include\InnoCallback.dll; DestDir: {tmp}; Flags: dontcopy

#ifdef records

Source: records.inf; 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

[CustomMessages]

russian.ExtractedFile=Распаковывается файл:

russian.CancelButton=Отменить распаковку

russian.Error=Ошибка распаковки!

[Languages]

Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[UninstallDelete]

Type: filesandordirs; Name: {app}

Код: Выделить всё


var

  LabelPct,LabelCurrFileName: TLabel;

  ISDoneProgressBar: TNewProgressBar;

  MyCancelButton: TButton;

  OveralPct,Cancel:integer;

  CallBack:longword;

  MyError:boolean;

type

  TCallback = function (Pct: integer;CurrentFile:string): longword;

  TMessage = record hWnd: HWND; msg, wParam: Word; lParam: LongWord; Time: TFileTime; pt: TPoint; end;

function PeekMessage(var lpMsg: TMessage; hWnd: HWND; wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): BOOL; external 'PeekMessageA@user32.dll stdcall';

function TranslateMessage(const lpMsg: TMessage): BOOL; external 'TranslateMessage@user32.dll stdcall';

function DispatchMessage(const lpMsg: TMessage): Longint; external 'DispatchMessageA@user32.dll stdcall';

function WrapMyCallback(callback:TCallback; paramcount:integer):longword;external 'wrapcallback@files:innocallback.dll stdcall';

function ISArcExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; callback: longword; Password, CfgFile, WorkPath: AnsiString):BOOL; external 'ISArcExtract@files:ISDone.dll stdcall';

function IS7ZipExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; callback: longword; Password: AnsiString):BOOL; external 'IS7zipExtract@files:ISDone.dll stdcall';

function ISPrecompExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutFile: AnsiString; DeleteInFile:boolean; callback: longword):BOOL; external 'ISPrecompExtract@files:ISDone.dll stdcall';

function ISSRepExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutFile, IdxFile: AnsiString; DeleteInFile:boolean; callback: longword):BOOL; external 'ISSrepExtract@files:ISDone.dll stdcall';

function ShowChangeDiskWindow(Text, DefaultPath, SearchFile:AnsiString):BOOL; external 'ShowChangeDiskWindow@files:ISDone.dll stdcall';

function StartRecord(RecordFileName:AnsiString; AllComponents:longword):BOOL; external 'StartRecord@files:ISDone.dll stdcall';

function CheckPoint(CurComponent:Integer):BOOL; external 'CheckPoint@files:ISDone.dll stdcall';

function StopRecord:BOOL; external 'StopRecord@files:ISDone.dll stdcall';

function ProgressCallback(Pct: integer; CurrentFile:AnsiString): longword;

var  Msg: TMessage;

begin

   if Pct
Ответить

Вернуться в «Автоматическая установка приложений»