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

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 9]

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

Аватара для El Sanchez

Ветеран


Contributor


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


Конфигурация

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


Изменения
Автор: El Sanchez
Дата: 06-06-2020
Внимание! Данная тема предназначена только для обсуждения написания скриптов!
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:

Показать/скрыть: Ссылки на примеры скриптов:

Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;

  • RegExporter - Бесплатная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.3.0 [17.01.2015] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z
Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z
Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:09, 04-04-2018

 

Аватара для nik1967

Старожил


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

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


ROMKA-1977,
Скрытый текст

Код: Выделить весь код
[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:= Page.Surface;
  end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  case CurPageID of
    Page.ID: MsgBox('Hello.', mbInformation, MB_OK);
  end;
end;

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".


Отправлено: 08:06, 25-04-2018 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для ROMKA-1977

Пользователь


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

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


Изображения
Тип файла: jpg 11.jpg
(18.6 Kb, 25 просмотров)

nik1967, в вашем примере панель отображается на кастомной странице. Мне же необходимо создать её на WizardForm но так чтобы она отображалась при кастомной странице, примерно так:
http://forum.oszone.net/attachment.p...1&d=1524651856
Вслучае стандартных страниц я указывал так :

procedure CurPageChanged(CurPageID: Integer);
begin
Test_pnl.Hide;
case CurPageID of
wpInfoBefore: Test_pnl.Show;
end;
end;

Из справки Inno Setup: Значения PageID для определенных ранее страниц мастера
wpWelcome, wpLicense, wpPassword, wpInfoBefore, wpUserInfo, wpSelectDir, wpSelectComponents, wpSelectProgramGroup, wpSelectTasks, wpReady, wpPreparing, wpInstalling, wpInfoAfter, wpFinished

Как же вывести панель на WizardForm только при отображении кастомной страницы ?

Последний раз редактировалось ROMKA-1977, 25-04-2018 в 13:47.


Отправлено: 13:28, 25-04-2018 | #22


Аватара для nik1967

Старожил


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

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


ROMKA-1977,
Скрытый текст

Код: Выделить весь код
[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;

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

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

Отправлено: 13:50, 25-04-2018 | #23


Аватара для TheLeon

Пользователь


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

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


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

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

[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

[code]
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;

Последний раз редактировалось TheLeon, 10-05-2018 в 16:36.


Отправлено: 18:17, 09-05-2018 | #24


Аватара для habib2302

Ветеран


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

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


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

-------
Помог? От "Полезное сообщение" не откажусь!!!

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

Отправлено: 19:09, 09-05-2018 | #25


Аватара для TheLeon

Пользователь


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

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


habib2302, здравствуй, а возможно ли отключить размерность на всех компонентах установщика?

Последний раз редактировалось TheLeon, 11-05-2018 в 14:52.


Отправлено: 13:54, 11-05-2018 | #26


Аватара для habib2302

Ветеран


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

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


TheLeon, я как понял, чтобы инсталлятор не показывал размеры компонентов?
Поменяйте WizardForm.ComponentsDiskSpaceLabel.Visible := True; на False

-------
Помог? От "Полезное сообщение" не откажусь!!!

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

Отправлено: 14:08, 11-05-2018 | #27


Аватара для habib2302

Ветеран


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

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


TheLeon, попробуйте поменять WizardForm.ComponentsDiskSpaceLabel.Visible := False; на WizardForm.ComponentsDiskSpaceLabel.Hide;

-------
Помог? От "Полезное сообщение" не откажусь!!!


Отправлено: 14:27, 11-05-2018 | #28


Аватара для TheLeon

Пользователь


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

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


habib2302, проблему решил, а именно: особо не заморачиваясь, зашёл в russian.isl и нашёл строчки ComponentSize=... и стёр всё, что после знака равно. Но всё равно спасибо вам.
-
Да, опять же возник вопрос: возможно ли сдвинуть поле тип установки вверх, а то я пытался, но у меня половина этого элемента перекрывал задний фон.
https://c.radikal.ru/c14/1805/73/252847181f0e.png

Последний раз редактировалось TheLeon, 17-05-2018 в 09:30.


Отправлено: 14:51, 11-05-2018 | #29


Аватара для habib2302

Ветеран


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

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


TheLeon, ваша ссылка не работает. ПЕРЕЙДИТЕ ПО ССЫЛКЕ НИЖЕ
http://forum.oszone.net/faq.php?faq=...chment_explain
Ссылка на прикрепленный файл не работает. Надо прикреплять в свое сообщение или загружать на облако или файлообм....

-------
Помог? От "Полезное сообщение" не откажусь!!!


Последний раз редактировалось habib2302, 11-05-2018 в 15:22.


Отправлено: 15:12, 11-05-2018 | #30



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 9]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 7] El Sanchez Автоматическая установка приложений 2499 02-02-2015 08:59
Скрипты Inno Setup. Помощь и советы [часть 6] El Sanchez Автоматическая установка приложений 2494 10-03-2014 11:51
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58




 
Переход