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

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

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

Сообщение nik1967 »

ROMKA-1977,

Скрытый текст

[spoiler]Код:
[/spoiler]

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

[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.
[code]
var
  Page: TWizardPage;
  Test_pnl: TPanel;
procedure InitializeWizard();
begin
  Page:= CreateCustomPage(wpWelcome, 'ISCustomPage1_Caption', 'ISCustomPage1_Description');
  Test_pnl:= TPanel.Create(WizardForm);
  with Test_pnl do begin
    Top:= ScaleY(60);
    Width:= ScaleX(497);
    Height:= ScaleY(253);
    BevelOuter:= bvNone;
    Color:= clLime;
    ParentBackground:= false;
    Parent:= WizardForm;
  end;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
  Test_pnl.Hide;
  case CurPageID of
    Page.ID: Test_pnl.Show;
  end;
end;
Аватара пользователя
TheLeon

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

Сообщение TheLeon »

Здравствуйте, уважаемые форумчане OSZone.net.

-

1. Опять нужна ваша помощь в моих безумных идеях. Проще говоря: происходит долгий запуск установщика дополнений на игру, затем, перейдя на страницу выбора компонента(картинки на каждый компонент присутствуют), начинаются дикие тормоза установщика. Я думаю, что скорее всего, это большое кол-во и объём файлов установщика(весит 335 МБ). Если ли какие-нибудь решения по этой ситуации?

-

2. Проблема с установкой дополнений на игру, которая расположена в Program Files, прогресс бар в самом установщике показывает, что идёт установка, но, перейдя в папку игры, после окончания, ничего не изменилось/не добавилось.

Сам скрипт(.iss)

[spoiler][Setup]

AppName=Vehicles for SpinTires™

AppVersion=1.0

AllowNoIcons=yes

AppPublisher=Leon

DefaultDirName=C:\Program Files (x86)\Spintires

DisableProgramGroupPage=auto

DisableReadyPage=yes

DirExistsWarning=no

DisableWelcomePage=yes

DisableFinishedPage=no

OutputBaseFilename=Vehicles for Spintires

OutputDir=C:\Users\Unknown\Documents\Inno Setup\Examples

LicenseFile=licence.rtf

SetupIconFile=images\SetupIcon.ico

WizardSmallImageFile=images\WizardSmallImage.bmp

WizardImageFile=images\WizardImage.bmp

PrivilegesRequired=admin

Compression=zip/9

InternalCompressLevel=ultra

CompressionThreads=2

SolidCompression=True

CreateUninstallRegKey=no

Uninstallable=no

[Languages]

Name: "RU"; MessagesFile: "Russian.isl"

[Types]

Name: full; Description: Полная установка;

Name: iscustom; Description: Выборочная установка;

[Components]

Name: CAR1; Description: {code:CompHelper|Bentley Continental Supersports}; Types: full;

Name: CAR2; Description: {code:CompHelper|BMW X5 M}; Types: full;

Name: CAR3; Description: {code:CompHelper|Chevrolet Silverado 2500}; Types: full;

Name: CAR4; Description: {code:CompHelper|Fiat Ducato (250)}; Types: full;

Name: CAR5; Description: {code:CompHelper|Ford Raptor Pre-Runner}; Types: full;

Name: CAR6; Description: {code:CompHelper|Hummer H3}; Types: full;

Name: CAR7; Description: {code:CompHelper|Jeep Grand Cherokee}; Types: full;

Name: CAR8; Description: {code:CompHelper|LADA Vesta (ВАЗ-2180)}; Types: full;

Name: CAR9; Description: {code:CompHelper|MAN TGX}; Types: full;

Name: CAR10; Description: {code:CompHelper|Mercedes-Benz G65 AMG}; Types: full;

Name: CAR11; Description: {code:CompHelper|Nissan Pathfinder (R51)}; Types: full;

Name: CAR12; Description: {code:CompHelper|Range Rover Evoque LRX}; Types: full;

Name: CAR13; Description: {code:CompHelper|Range Rover Vogue (L405)}; Types: full;

Name: CAR14; Description: {code:CompHelper|Subaru Impreza STI}; Types: full;

Name: CAR15; Description: {code:CompHelper|Toyota Hilux Tonka Concept 2017}; Types: full;

Name: CAR16; Description: {code:CompHelper|Volkswagen Touareg}; Types: full;

Name: CAR17; Description: {code:CompHelper|Volvo FM}; Types: full;

Name: CAR18; Description: {code:CompHelper|Volvo XC90}; Types: full;

Name: CAR19; Description: {code:CompHelper|ВАЗ 2103 Жигули}; Types: full;

Name: CAR20; Description: {code:CompHelper|ВАЗ-21213 Нива}; Types: full;

[Dirs]

Name: "{app}\Vehicles"; Permissions: everyone-full

[Files]

;------------------------------Bentley Continental Supersports------------------------------

Source: "Files\Bentley Continental Supersports\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR1;

Source: "Files\Bentley Continental Supersports\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR1;

Source: "Files\Bentley Continental Supersports\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR1;

Source: "Files\Bentley Continental Supersports\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR1;

Source: "Files\Bentley Continental Supersports\sounds\engine\bentley_porsche\*"; DestDir: "{app}\Vehicles\sounds\engine\bentley_porsche"; Flags: ignoreversion; Components: CAR1;

;------------------------------------------BMW X5 M-----------------------------------------

Source: "Files\BMW X5 M\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR2;

Source: "Files\BMW X5 M\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR2;

Source: "Files\BMW X5 M\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR2;

Source: "Files\BMW X5 M\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR2;

Source: "Files\BMW X5 M\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR2;

;---------------------------------Chevrolet Silverado 2500----------------------------------

Source: "Files\Chevrolet Silverado 2500\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR3;

Source: "Files\Chevrolet Silverado 2500\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR3;

Source: "Files\Chevrolet Silverado 2500\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR3;

Source: "Files\Chevrolet Silverado 2500\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR3;

Source: "Files\Chevrolet Silverado 2500\sounds\engine\*"; DestDir: "{app}\Vehicles\sounds\engine"; Flags: ignoreversion; Components: CAR3;

Source: "Files\Chevrolet Silverado 2500\textures\trucks\*"; DestDir: "{app}\Vehicles\textures\trucks"; Flags: ignoreversion; Components: CAR3;

;-------------------------------------Fiat Ducato (250)-------------------------------------

Source: "Files\Fiat Ducato (250)\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR4;

Source: "Files\Fiat Ducato (250)\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR4;

Source: "Files\Fiat Ducato (250)\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR4;

Source: "Files\Fiat Ducato (250)\meshes\trucks\*"; DestDir: "{app}\Vehicles\meshes\trucks"; Flags: ignoreversion; Components: CAR4;

Source: "Files\Fiat Ducato (250)\meshes\wheels\*"; DestDir: "{app}\Vehicles\meshes\wheels"; Flags: ignoreversion; Components: CAR4;

Source: "Files\Fiat Ducato (250)\sounds\mentura\*"; DestDir: "{app}\Vehicles\sounds\mentura"; Flags: ignoreversion; Components: CAR4;

Source: "Files\Fiat Ducato (250)\textures\trucks\police\*"; DestDir: "{app}\Vehicles\textures\trucks\police"; Flags: ignoreversion; Components: CAR4;

;----------------------------------Ford Raptor Pre-Runner-----------------------------------

Source: "Files\Ford Raptor Pre-Runner\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR5;

Source: "Files\Ford Raptor Pre-Runner\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR5;

Source: "Files\Ford Raptor Pre-Runner\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR5;

Source: "Files\Ford Raptor Pre-Runner\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR5;

Source: "Files\Ford Raptor Pre-Runner\sounds\engine\SID-V8\*"; DestDir: "{app}\Vehicles\sounds\engine\SID-V8"; Flags: ignoreversion; Components: CAR5;

;-----------------------------------------Hummer H3-----------------------------------------

Source: "Files\Hummer H3\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR6;

Source: "Files\Hummer H3\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR6;

Source: "Files\Hummer H3\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR6;

Source: "Files\Hummer H3\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR6;

Source: "Files\Hummer H3\sounds\engine\*"; DestDir: "{app}\Vehicles\sounds\engine"; Flags: ignoreversion; Components: CAR6;

;------------------------------------Jeep Grand Cherokee------------------------------------

Source: "Files\Jeep Grand Cherokee\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR7;

Source: "Files\Jeep Grand Cherokee\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR7;

Source: "Files\Jeep Grand Cherokee\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR7;

Source: "Files\Jeep Grand Cherokee\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR7;

Source: "Files\Jeep Grand Cherokee\sounds\engine\V8\*"; DestDir: "{app}\Vehicles\sounds\engine\V8"; Flags: ignoreversion; Components: CAR7;

;-----------------------------------LADA Vesta (ВАЗ-2180)-----------------------------------

Source: "Files\LADA Vesta (ВАЗ-2180)\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR8;

Source: "Files\LADA Vesta (ВАЗ-2180)\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR8;

Source: "Files\LADA Vesta (ВАЗ-2180)\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR8;

Source: "Files\LADA Vesta (ВАЗ-2180)\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR8;

Source: "Files\LADA Vesta (ВАЗ-2180)\sounds\laaadaaa_veeesttas\*"; DestDir: "{app}\Vehicles\sounds\laaadaaa_veeesttas"; Flags: ignoreversion; Components: CAR8;

Source: "Files\LADA Vesta (ВАЗ-2180)\sounds\laaadaaa_veeesttas\niZZmsa\*"; DestDir: "{app}\Vehicles\sounds\laaadaaa_veeesttas\niZZmsa"; Flags: ignoreversion; Components: CAR8;

;-------------------------------------------MAN TGX-----------------------------------------

Source: "Files\MAN TGX\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR9;

Source: "Files\MAN TGX\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR9;

Source: "Files\MAN TGX\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR9;

Source: "Files\MAN TGX\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR9;

Source: "Files\MAN TGX\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR9;

;-----------------------------------Mercedes-Benz G65 AMG-----------------------------------

Source: "Files\Mercedes-Benz G65 AMG\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR11;

Source: "Files\Mercedes-Benz G65 AMG\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR10;

Source: "Files\Mercedes-Benz G65 AMG\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR10;

Source: "Files\Mercedes-Benz G65 AMG\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR10;

Source: "Files\Mercedes-Benz G65 AMG\meshes\trucks\*"; DestDir: "{app}\Vehicles\meshes\trucks"; Flags: ignoreversion; Components: CAR10;

Source: "Files\Mercedes-Benz G65 AMG\meshes\wheels\*"; DestDir: "{app}\Vehicles\meshes\wheels"; Flags: ignoreversion; Components: CAR10;

Source: "Files\Mercedes-Benz G65 AMG\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR11;

Source: "Files\Mercedes-Benz G65 AMG\textures\merc_g65\*"; DestDir: "{app}\Vehicles\textures\merc_g65"; Flags: ignoreversion; Components: CAR10;

;-----------------------------------Nissan Pathfinder (R51)---------------------------------

Source: "Files\Nissan Pathfinder (R51)\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR11;

Source: "Files\Nissan Pathfinder (R51)\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR11;

Source: "Files\Nissan Pathfinder (R51)\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR11;

Source: "Files\Nissan Pathfinder (R51)\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR11;

Source: "Files\Nissan Pathfinder (R51)\sounds\engine\V1\*"; DestDir: "{app}\Vehicles\sounds\engine\V1"; Flags: ignoreversion; Components: CAR11;

Source: "Files\Nissan Pathfinder (R51)\sounds\env\*"; DestDir: "{app}\Vehicles\sounds\env"; Flags: ignoreversion; Components: CAR11;

;-----------------------------------Range Rover Evoque LRX----------------------------------

Source: "Files\Range Rover Evoque LRX\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR12;

Source: "Files\Range Rover Evoque LRX\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR12;

Source: "Files\Range Rover Evoque LRX\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR12;

Source: "Files\Range Rover Evoque LRX\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR12;

Source: "Files\Range Rover Evoque LRX\sounds\engine\*"; DestDir: "{app}\Vehicles\sounds\engine"; Flags: ignoreversion; Components: CAR12;

;---------------------------------Range Rover Vogue (L405)----------------------------------

Source: "Files\Range Rover Vogue (L405)\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR13;

Source: "Files\Range Rover Vogue (L405)\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR13;

Source: "Files\Range Rover Vogue (L405)\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR13;

Source: "Files\Range Rover Vogue (L405)\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR13;

Source: "Files\Range Rover Vogue (L405)\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR13;

;------------------------------------Subaru Impreza STI-------------------------------------

Source: "Files\Subaru Impreza STI\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR14;

Source: "Files\Subaru Impreza STI\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR14;

Source: "Files\Subaru Impreza STI\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR14;

Source: "Files\Subaru Impreza STI\meshes\trucks\*"; DestDir: "{app}\Vehicles\meshes\trucks"; Flags: ignoreversion; Components: CAR14;

Source: "Files\Subaru Impreza STI\meshes\wheels\*"; DestDir: "{app}\Vehicles\meshes\wheels"; Flags: ignoreversion; Components: CAR14;

Source: "Files\Subaru Impreza STI\sounds\enginesti\*"; DestDir: "{app}\Vehicles\sounds\enginesti"; Flags: ignoreversion; Components: CAR14;

Source: "Files\Subaru Impreza STI\textures\*"; DestDir: "{app}\Vehicles\textures"; Flags: ignoreversion; Components: CAR14;

Source: "Files\Subaru Impreza STI\textures\sti\*"; DestDir: "{app}\Vehicles\textures\sti"; Flags: ignoreversion; Components: CAR14;

Source: "Files\Subaru Impreza STI\textures\sub\*"; DestDir: "{app}\Vehicles\textures\sub"; Flags: ignoreversion; Components: CAR14;

Source: "Files\Subaru Impreza STI\textures\wh1\*"; DestDir: "{app}\Vehicles\textures\wh1"; Flags: ignoreversion; Components: CAR14;

;------------------------------Toyota Hilux Tonka Concept 2017------------------------------

Source: "Files\Toyota Hilux Tonka Concept 2017\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR15;

Source: "Files\Toyota Hilux Tonka Concept 2017\_templates\*"; DestDir: "{app}\Vehicles\_templates"; Flags: ignoreversion; Components: CAR15;

Source: "Files\Toyota Hilux Tonka Concept 2017\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR15;

Source: "Files\Toyota Hilux Tonka Concept 2017\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR15;

Source: "Files\Toyota Hilux Tonka Concept 2017\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR15;

Source: "Files\Toyota Hilux Tonka Concept 2017\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR15;

Source: "Files\Toyota Hilux Tonka Concept 2017\sounds\engine\*"; DestDir: "{app}\Vehicles\sounds\engine"; Flags: ignoreversion; Components: CAR15;

Source: "Files\Toyota Hilux Tonka Concept 2017\sounds\env\*"; DestDir: "{app}\Vehicles\sounds\env"; Flags: ignoreversion; Components: CAR15;

Source: "Files\Toyota Hilux Tonka Concept 2017\sounds\truck\*"; DestDir: "{app}\Vehicles\sounds\truck"; Flags: ignoreversion; Components: CAR15;

Source: "Files\Toyota Hilux Tonka Concept 2017\sounds\engine\V1\*"; DestDir: "{app}\Vehicles\sounds\engine\V1"; Flags: ignoreversion; Components: CAR15;

;------------------------------------Volkswagen Touareg-------------------------------------

Source: "Files\Volkswagen Touareg\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR16;

Source: "Files\Volkswagen Touareg\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR16;

Source: "Files\Volkswagen Touareg\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR16;

Source: "Files\Volkswagen Touareg\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR16;

Source: "Files\Volkswagen Touareg\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR16;

;------------------------------------------Volvo FM-----------------------------------------

Source: "Files\Volvo FM\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR17;

Source: "Files\Volvo FM\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR17;

Source: "Files\Volvo FM\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR17;

Source: "Files\Volvo FM\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR17;

Source: "Files\Volvo FM\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR17;

;-----------------------------------------Volvo XC90----------------------------------------

Source: "Files\Volvo XC90\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR18;

Source: "Files\Volvo XC90\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR18;

Source: "Files\Volvo XC90\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR18;

Source: "Files\Volvo XC90\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR18;

Source: "Files\Volvo XC90\sounds\*"; DestDir: "{app}\Vehicles\sounds"; Flags: ignoreversion; Components: CAR18;

;--------------------------------------ВАЗ 2103 Жигули--------------------------------------

Source: "Files\ВАЗ 2103 Жигули\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR19;

Source: "Files\ВАЗ 2103 Жигули\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR19;

Source: "Files\ВАЗ 2103 Жигули\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR19;

Source: "Files\ВАЗ 2103 Жигули\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR19;

Source: "Files\ВАЗ 2103 Жигули\sounds\LADA1500_nEw\*"; DestDir: "{app}\Vehicles\sounds\LADA1500_nEw"; Flags: ignoreversion; Components: CAR19;

;--------------------------------------Нива (ВАЗ-21213)-------------------------------------

Source: "Files\Нива (ВАЗ-21213)\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion; Components: CAR20;

Source: "Files\Нива (ВАЗ-21213)\billboards\trucks\*"; DestDir: "{app}\Vehicles\billboards\trucks"; Flags: ignoreversion; Components: CAR20;

Source: "Files\Нива (ВАЗ-21213)\classes\trucks\*"; DestDir: "{app}\Vehicles\classes\trucks"; Flags: ignoreversion; Components: CAR20;

Source: "Files\Нива (ВАЗ-21213)\classes\wheels\*"; DestDir: "{app}\Vehicles\classes\wheels"; Flags: ignoreversion; Components: CAR20;

Source: "Files\Нива (ВАЗ-21213)\sounds\2106\*"; DestDir: "{app}\Vehicles\sounds\2106"; Flags: ignoreversion; Components: CAR20;

;----------------------------------------Русификатор----------------------------------------

Source: "Files\translate\strings\ru\*"; DestDir: "{app}\Vehicles\strings\ru"; Flags: ignoreversion;

;--------------------------------------Временные файлы--------------------------------------

Source: "images\ad.bmp"; DestDir: "{tmp}"; Flags: dontcopy

Source: "images\vehicles\*"; DestDir: "{tmp}"; Flags: dontcopy

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


type

    TComponentDesc = record

    Description: String;

    ImageName: String;

    Index: Integer;

end;

var

  ComponentsInfoImage: TBitmapImage;

  ComponentHelper: TStringList;

  CompDescText: TLabel;

  Image1: TBitmapImage;

  DelTmp: TNewCheckBox;

function CompHelper(Param: string): string;

var

  Image: TBitmap;

  Index: Integer;

begin

  Result := '';

  with TStringList.Create do

  try

    StringChangeEx(Param, '|', #13#10, True);

    Text := Param;

    if Count = 0 then Exit;

    if Count > 0 then

      Index := ComponentHelper.Add(Strings[0]);

    if Count > 1 then

    begin

      if not FileExists(ExpandConstant('{tmp}\') + Strings[1]) then

        ExtractTemporaryFile(Strings[1]);

      Image := TBitmap.Create;

      Image.LoadFromFile(ExpandConstant('{tmp}\') + Strings[1]);

      ComponentHelper.Objects[Index] := Image;

    end;

    Result := ComponentHelper[Index];

  finally

    Free;

  end;

end;

function DelTmpCheck(): boolean;

begin

  result := DelTmp.Checked;

end;

procedure ComponentsListClickCheck(Sender: TObject);

begin

  if not Assigned(Sender) or (TNewCheckListBox(Sender).ItemIndex = -1) then Exit;

  ComponentsInfoImage.Bitmap.Assign(TBitmap(ComponentHelper.Objects[TNewCheckListBox(Sender).ItemIndex]));

end;

function InitializeSetup(): Boolean;

begin

  Result := True;

  ComponentHelper := TStringList.Create;

  ComponentHelper.Duplicates := dupIgnore;

end;

var

  CheckLicense: TCheckBox;

procedure LicenseOnClick(Sender: TObject);

begin

  if (CheckLicense.Checked) = True then

  begin

    WizardForm.LicenseAcceptedRadio.Checked := True;

  end else

  begin

    WizardForm.LicenseNotAcceptedRadio.Checked := True;

  end;

end;

var

  CompDescs: array of TComponentDesc;

  CompDescImgPanel: TPanel;

  CompIndex, LastIndex: Integer;

  CompDescImg: TBitmapImage;

procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea);

var

  i: Integer;

begin

  if Index = LastIndex then Exit;

  CompIndex := -1;

  for i := 0 to GetArrayLength(CompDescs) -1 do

  begin

    if (CompDescs[i].Index = Index) then

    begin

      CompIndex := i;

      Break;

    end;

  end;

  if (CompIndex >= 0) and (Area = iaItem) then

  begin

    if not FileExists(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName) then

      ExtractTemporaryFile(CompDescs[CompIndex].ImageName);

    CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName);

    CompDescImg.Show;

    if Index = 0 then

    CompDescText.Caption := 'Наведите курсор мыши на компонент, чтобы посмотреть его превью.';

  end;

  LastIndex := Index;

end;

procedure CompListMouseLeave(Sender: TObject);

begin

  CompDescImg.Hide;

  LastIndex := -1;

end;

procedure AddCompDescription(AIndex: Integer; ADescription: String; AImageName: String);

var

  i: Integer;

begin

  i := GetArrayLength(CompDescs);

  SetArrayLength(CompDescs, i + 1);

  CompDescs[i].Description := ADescription;

  CompDescs[i].ImageName := AImageName;

  CompDescs[i].Index := AIndex - 1

end;

procedure Image1Click(Sender: TObject);

var ErrorCode: Integer;

begin

ShellExec('open','https://www.nssro.ga','', '', SW_SHOW, ewNoWait, ErrorCode)

end;

procedure InitializeWizard();

var

  i: Integer;

begin

  WizardForm.SelectComponentsLabel.Hide;

  WizardForm.SelectDirBitmapImage.Hide;

  WizardForm.DiskSpaceLabel.Hide;

  WizardForm.DirBrowseButton.SetBounds(ScaleX(342),ScaleY(39),ScaleX(75),ScaleY(22));

  WizardForm.DirEdit.SetBounds(ScaleX(0),ScaleY(40),ScaleX(332),ScaleY(20));

  WizardForm.SelectDirBrowseLabel.SetBounds(ScaleX(0),ScaleY(13),ScaleX(417),ScaleY(27));

  WizardForm.SelectDirLabel.SetBounds(ScaleX(0),ScaleY(1),ScaleX(417),ScaleY(14));

  WizardForm.TypesCombo.Top := ScaleY(0)

  WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription;

  WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave;

  WizardForm.ComponentsList.Visible := True;

  WizardForm.ComponentsList.Height := ScaleX(204);

  WizardForm.ComponentsList.Top := ScaleX(31);

  WizardForm.ComponentsList.Width := ScaleX(200);

  for i := 0 to WizardForm.ComponentsList.Items.Count - 1 do

    if not WizardForm.ComponentsList.ItemEnabled[i] then

      WizardForm.ComponentsList.ItemSubItem[i] := '';

  WizardForm.ComponentsDiskSpaceLabel.Visible := True;

  WizardForm.LicenseNotAcceptedRadio.Hide;

  WizardForm.LicenseAcceptedRadio.Hide;

  WizardForm.LicenseMemo.Height := ScaleY(175);

  DelTmp := TNewCheckBox.Create(WizardForm);

  DelTmp.Parent := WizardForm.FinishedPage;

  DelTmp.Caption := 'Удалить временные файлы';

  DelTmp.Left := ScaleX(180);

  DelTmp.Top := ScaleY(207);

  DelTmp.Width := ScaleX(300);

  DelTmp.Height := ScaleY(15);;

  DelTmp.Checked := true;

  CheckLicense:= TCheckBox.Create(WizardForm);

  CheckLicense.Left:= ScaleX(0);

  CheckLicense.Top:= ScaleY(216);

  CheckLicense.Caption:= WizardForm.LicenseAcceptedRadio.Caption;

  CheckLicense.Width:= ScaleX(417);

  CheckLicense.OnClick:= @LicenseOnClick;

  CheckLicense.Parent:= WizardForm.LicensePage;

  Image1 := TBitmapImage.Create(WizardForm);

  with Image1 do

  begin

    Parent  := WizardForm.SelectDirPage;

    SetBounds(ScaleX(0),ScaleY(70),ScaleX(416),ScaleY(170));

    ExtractTemporaryFile('ad.bmp');

    Bitmap.LoadFromFile(ExpandConstant('{tmp}\ad.bmp'));

    OnClick:=@Image1Click;

    Enabled:=True;

    Cursor:=crHand;

  end;

  CompDescImgPanel := TPanel.Create(WizardForm);

  with CompDescImgPanel do

  begin

    Parent := WizardForm.SelectComponentsPage;

    SetBounds(ScaleX(212), ScaleY(30), ScaleX(205), ScaleY(205));

    BevelInner := bvLowered;

  end;

  CompDescText := TLabel.Create(WizardForm);

  with CompDescText do

  begin

    Parent := CompDescImgPanel;

    SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10));

    AutoSize := False;

    WordWrap := True;

    Enabled := False;

    Caption := 'Наведите курсор мыши на компонент, чтобы посмотреть его превью.';

  end;

  CompDescImg := TBitmapImage.Create(WizardForm);

  with CompDescImg do

  begin

    Parent := CompDescImgPanel;

    SetBounds(ScaleX(4), ScaleY(4), CompDescImgPanel.Width - ScaleX(7), CompDescImgPanel.Height - ScaleY(7));

    Stretch := True;

    Hide;

  end;

  AddCompDescription(1, (''), 'car1.bmp');

  AddCompDescription(2, (''), 'car2.bmp');

  AddCompDescription(3, (''), 'car3.bmp');

  AddCompDescription(4, (''), 'car4.bmp');

  AddCompDescription(5, (''), 'car5.bmp');

  AddCompDescription(6, (''), 'car6.bmp');

  AddCompDescription(7, (''), 'car7.bmp');

  AddCompDescription(8, (''), 'car8.bmp');

  AddCompDescription(9, (''), 'car9.bmp');

  AddCompDescription(10, (''), 'car10.bmp');

  AddCompDescription(11, (''), 'car11.bmp');

  AddCompDescription(12, (''), 'car12.bmp');

  AddCompDescription(13, (''), 'car13.bmp');

  AddCompDescription(14, (''), 'car14.bmp');

  AddCompDescription(15, (''), 'car15.bmp');

  AddCompDescription(16, (''), 'car16.bmp');

  AddCompDescription(17, (''), 'car17.bmp');

  AddCompDescription(18, (''), 'car18.bmp');

  AddCompDescription(19, (''), 'car19.bmp');

  AddCompDescription(20, (''), 'car20.bmp');

end;

procedure CurPageChanged(CurPageID: Integer);

begin

  case CurPageID of

    wpSelectComponents: ComponentsListClickCheck(nil);

  end;

end;

procedure CurStepChanged(CurStep: TSetupStep);

begin

  case CurStep of

    ssDone:

      begin

        if DelTmpCheck then

          begin

            DelTree(ExpandConstant('{localappdata}\Temp'), false, true, true);

          end;

      end;

  end;

end;

function NextButtonClick(CurPageID: Integer): Boolean;

begin

  Result := True;

  case CurPageID of

    wpSelectDir:

      if not FileExists(ExpandConstant('{app}\SpinTires.exe')) then begin

        MsgBox('Ошибка! Вы должны указать путь до папки Spintires.', mbError, MB_OK);

        Result := False;

      end;

  end;

end;

[Run]

Filename: "https://www.worldofmods.ru"; Description: "Посетить сайт WorldOfMods.ru"; Flags: postinstall shellexec;

Filename: "https://www.nsspro.ga"; Description: "«Not So Serious» в Steam"; Flags: postinstall shellexec;

Filename: "mailto:support@nsspro.ga"; Description: "Написать в поддержку"; Flags: postinstall shellexec unchecked;[/spoiler]
Аватара пользователя
habib2302

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

Сообщение habib2302 »

TheLeon, Временные файлы ставьте вверх списка т.к. инсталлятор выгружает файлы с верху в низ. Из-за этого инсталлятор и тормозит после запуска
Аватара пользователя
TheLeon

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

Сообщение TheLeon »

Цитата ROMKA-1977:



{cm:UninstallProgram,{#MyName}};
Скрипты Inno Setup. Помощь и советы [часть 9]




Наверное лучше писать так:

Код:

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

{cm:UninstallProgram} {#MyName};
Аватара пользователя
habib2302

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

Сообщение habib2302 »

TheLeon, я как понял, чтобы инсталлятор не показывал размеры компонентов?

Поменяйте WizardForm.ComponentsDiskSpaceLabel.Visible := True; на False
Аватара пользователя
habib2302

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

Сообщение habib2302 »

Цитата ROMKA-1977:



Всегда указывал так:

[Icons]

Name: {group}\{cm:UninstallProgram,{#MyName}}; Filename: {uninstallexe}; Check: CheckError
Скрипты Inno Setup. Помощь и советы [часть 9]




ROMKA-1977, если UninstallProgram вынесен во внешний файл, то проверьте его кодировку, должна быть UTF-8. Либо CheckError возвращает False на Win 10.


Цитата ErikPshat:



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




ErikPshat, там все правильно написано, читайте справку.


Цитата ErikPshat:



Как средствами Inno Setup создать новый пустой текстовой файл?
Скрипты Inno Setup. Помощь и советы [часть 9]




ErikPshat,



Код:

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

SaveStringToFile(ExpandConstant('{tmp}\file.txt'), '', False);
Аватара пользователя
TheLeon

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

Сообщение TheLeon »

habib2302, проблему решил, а именно: особо не заморачиваясь, зашёл в russian.isl и нашёл строчки ComponentSize=... и стёр всё, что после знака равно. Но всё равно спасибо вам.

-

Да, опять же возник вопрос: возможно ли сдвинуть поле тип установки вверх, а то я пытался, но у меня половина этого элемента перекрывал задний фон.

https://c.radikal.ru/c14/1805/73/252847181f0e.png
Аватара пользователя
habib2302

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

Сообщение habib2302 »

Подскажите пожалуйста, как проверить наличие записи в INI-файле?



У меня в секцию [CONFIG] записывается ключ "InstallDirectory" с путём в параметре. И я делаю отдельную функцию на его считывание:



Код:

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

function InsDir(Default:String):String;
  Begin
    Result:= GetIniString('CONFIG','InstallDirectory','',ExpandConstant('{tmp}\config.ini'));
  end;

А теперь мне нужно проверить, присутствует ли ключ с параметром. Если да, то я его считываю. Если нет, то я беру данные из другого ключа. Ну типа как-то так:



Код:

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

if (ExpandConstant('{code:InsDir}') > 0) then begin DIR:= ExpandConstant('{code:InsDir}') end else
if (ExpandConstant('{code:NewDir}') > 0) then begin DIR:= ExpandConstant('{code:NewDir}') end;

То есть, я не знаю с чем сравнивать. Правильно ли будет узнавать наличие ключа, потому что он больше нуля?

Мне нужно на переменную DIR назначить существующий ключ.
Аватара пользователя
habib2302

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

Сообщение habib2302 »

Цитата ErikPshat:



{cm:UninstallProgram} {#MyName};
Скрипты Inno Setup. Помощь и советы [часть 9]




В данном вами примере инсталятор берёт полное название ярлыка из файла Russian.isl и получается в итоге - Деинсталлировать %1MyName

Может есть какойто метод оптимизации секции [Icons] не прибегая к подробному тексту - Name: {group}\Деинсталлировать {#MyName}; Filename: {uninstallexe}; Check: CheckError

Уточняю проблему - это только но win 10 и подобное не только у моих инсталяшек
Аватара пользователя
TheLeon

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

Сообщение TheLeon »

habib2302. Ещё, если не трудно, посмотрите, почему не хочет устанавливать дополнения в program files и подобные директории.
Ответить

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