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

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

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

Сообщение Mat_y »

Подскажите пожалуйста. Везде обыскал, но так и не нашел. Как сделать, чтобы в меню выбора пути установки путь отображался, но его нельзя было бы изменить? Желательно, чтобы можно было только кнопкой обзор изменить.
Аватара пользователя
saurn

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

Сообщение saurn »

Ребят, кто может помочь удалить
из этого
кода страницу с выбором компонентов. Сыпет ошибки и сыпет.
Аватара пользователя
Johny777

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

Сообщение Johny777 »

Цитата Raz3r:



Как сделать, чтобы в меню выбора пути установки путь отображался, но его нельзя было бы изменить?
Скрипты Inno Setup. Помощь и советы [часть 6]






Код:

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

[Code]
procedure InitializeWizard();
begin
  WizardForm.DirEdit.Enabled := False; 
end;
Аватара пользователя
Farser21

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

Сообщение Farser21 »

Цитата Uga4aka:



Есть инсталлятор ПО, но без исходников. И его необходимо дополнить. После распаковки инсталлятора, получил исходники. Насколько разобрался, в нем происходит копирование файлов при определенных условиях (версия ОС). Проверка идет командой Check, но самой функции в коде нет

фрагмент проблемного кода

не подскажете как дописать, что бы все работало.

Нашел что есть GetWindowsVersion, GetWindowsVersionEx. Но как прикрутить их в скрипт, не хватает навыков
Скрипты Inno Setup. Помощь и советы [часть 6]





решение


function IsVista: Boolean;

{function to check if we are running on Windows Vista}

var

version: TWindowsVersion;

begin

GetWindowsVersionEx(version);

result := false;

if Version.NTPlatform and

(Version.Major = 6) then

result := true;

end;



function IsXP: Boolean;

{function to check if we are running on Windows XP}

var

version: TWindowsVersion;

begin

GetWindowsVersionEx(version);

result := false;

if Version.NTPlatform and

(Version.Major = 5) and

(Version.Minor = 1) then

result := true;

end;



function Is2000: Boolean;

{function to check if we are running on Windows 2000}

var

version: TWindowsVersion;

begin

GetWindowsVersionEx(version);

result := false;

if Version.NTPlatform and

(Version.Major = 5) and

(Version.Minor = 0) then

result := true;

end;

function IsServer: Boolean;

{function to check if we are running on a server}

var

version: TWindowsVersion;

begin

GetWindowsVersionEx(version);

result := false;

if Version.ProductType = VER_NT_SERVER then

result := true;

end;
Аватара пользователя
Nordek

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

Сообщение Nordek »

Здравствуйте знатоки форума,давно я у вас не просил помощи,El Sanchez помню и SEREGA помню.Проблема вот в чем,у меня скрипт которым я сжимал файлы средствами самого инно мне его Serega подредактировал,я пользовался им полтора года (за что поклон Serege),а тут решил попробовать Free Arc,извлечение из рядом лежащего файла.Все сделал по инструкции вроде,и скачал с сайта библиотеки, но инно ругается на многое,компилирую в Unicod версии.Даже если ошибочные строки закоментировать,то вылазит ошибка такая



и инсталлер после нажатия ок,деинсталируется,но при этом в папку с игрой распаковывается частично файлы из Arc архива,вообщем я отчаялся,помогите
Аватара пользователя
Mat_y

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

Сообщение Mat_y »

Приветствую.



Вот так:


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




Код:

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

begin
  with WizardForm do
  begin
    with ComponentsList do
    begin
      OnItemMouseMove := @ComponentsListItemMouseMove;
    end;
  end;





Происходит действие (например картинка показывается, соответствующая компоненту) при наведении на компонент...

... есть ли способ, делать то же самое, но только при выборе компонента (его выделении, клику по нему)?



2/ Есть ли способ убить запущенный процесс (рабочую программу) при установке на нее? В справке нашел 2 варианта, но ни один не сработал...
Аватара пользователя
saurn

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

Сообщение saurn »

Приветствую!

Подскажите плиз, разве в инно в

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

 нельзя объявлять классы? Например пытаюсь сделать


 
 Код: [url=#][/url]
 [code]type 
TBackUpButton = class(TNewButton)
  property order: integer; read write;
  property connstring: string; read write;
 end;

Ругается на "identifier expected". Причем другие типы (на основе record например) объявляются без проблем.
Аватара пользователя
Farser21

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

Сообщение Farser21 »

Nordek, спасибо.

И еще возник вопрос.

Когда я использую Flags: exclusive, то почему-то сразу флажки выставлены.

А когда я использую Flags: dontinheritcheck, то флажки не стоят.

Как сделать так чтобы изначально флажки не где не стояли. А то немного не удобно каждый раз самому их убирать.

Заранее спасибо.
Аватара пользователя
saurn

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

Сообщение saurn »

Цитата tuz-veta:



подскажите как добавить 2 кнопки для перехода на сайт

вот в этих местах?

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





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




Код:

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

[Code]
var
  ClkSite1: TNewButton;
  ClkSite2: TNewButton;
  ErrorCode : Integer;
procedure URLClk1Click(Sender: TObject); forward;
procedure URLClk2Click(Sender: TObject); forward;
procedure InitializeWizard();
begin
  ClkSite1 := TNewButton.Create(WizardForm);
  with ClkSite1 do
  begin
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(80);
    Top := ScaleY(216);
    Width := ScaleX(75);
    Height := ScaleY(25);
    Caption := 'Сайт 1';
    OnClick := @URLClk1Click;
  end;
  ClkSite2 := TNewButton.Create(WizardForm);
  with ClkSite2 do
  begin
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(336);
    Top := ScaleY(216);
    Width := ScaleX(75);
    Height := ScaleY(25);
    Caption := 'Сайт 2';
    OnClick := @URLClk2Click;
  end;
end;
procedure URLClk1Click(Sender: TObject);
begin
  ShellExec('open', 'http://www.ссылканасайт.com/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;
procedure URLClk2Click(Sender: TObject);
begin
 ShellExec('open', 'http://www.ссылканасайт.com/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;
Аватара пользователя
Farser21

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

Сообщение Farser21 »

saurn, в том то и дело что такой строчки у меня нету.



Скрипт


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




#include "botva2.iss"

#include "BASS_Module.iss"



#define Pic1 "Анимированный прицел (Снайперский)"

#define Pic2 "Белый прицел"

#define Pic3 "Прицел как у 40 тонн"

#define Pic4 "Прицел Кирилла Орешкина (Зеленый)"

#define Pic5 "Прицел Кирилла Орешкина (Синий)"

#define Pic6 "Сведение с Пробитием снаряда и Толщиной брони"

#define Pic7 "Снайперский прицел (Простой)"

#define Pic8 "Снайперский прицел Warface"

#define Pic9 "Снайперский прицел Минималистический"

#define Pic10 "Спайперский прицел ZX mini"

#define Pic11 "Анимированный Арт-прицел"

#define Pic12 "Арт-прицел (Белый)"

#define Pic13 "Арт-прицел (Простой)"

#define Pic14 "Необычный Арт-прицел"

#define Pic15 "Анимированная Дамаг панель"

#define Pic16 "Дамаг панель (Прозрачная) с таймером починки"

#define Pic17 "Дамаг панель (Прозрачная)"

#define Pic18 "Дамаг панель (С новыми иконками модулей)"

#define Pic19 "Дамаг панель Xbox"

#define Pic20 "Дамаг панель Бионик (Зеленый)"

#define Pic21 "Дамаг панель Бионик (Черный)"

#define Pic22 "Дамаг панель в стиле RPG"

#define Pic23 "Дамаг панель от zayaz"

#define Pic24 "Китайская дамаг панель"

#define Pic25 "Дамаг индикатор (Легкий)"

#define Pic26 "Дамаг индикатор (Простой)"

#define Pic27 "Дамаг индикатор (Пуля)"

#define Pic28 "Дамаг индикатор Warface"

#define Pic29 "Дамаг индикатор"

#define Pic30 "Маркер фокуса (Атакую) желтый"

#define Pic31 "Маркер фокуса (Атакую) зеленый"

#define Pic32 "Маркер фокуса (Атакую) красный"

#define Pic33 "Маркер фокуса (Атакую) синий"

#define Pic34 "УГН для ПТ (Желтые)"

#define Pic35 "УГН для ПТ в стиле zayaz"

#define Pic36 "УГН для ПТ и Арты (MeltyMap) + Улучшеная мини-карта"

#define Pic37 "УГН для ПТ и Арты (Квадратные)"

#define Pic38 "УГН для ПТ и Арты (Оранжевые)"

#define Pic39 "Иконки снарядов"

#define Pic40 "Мини карта (Названия танков, луч, радиус обзора)"



[Setup]

SourceDir=.

OutputDir=Setup

AppName=Сборка модов от Farser (Собери сам)

AppVerName=Сборка модов от Farser (Собери сам)

AppVersion=0.8.9

DefaultDirName={pf}\World_of_Tanks

DefaultGroupName=Сборка модов от Farser (Собери сам)

AllowNoIcons=yes

OutputBaseFilename=setup

WizardImageFile=Images\Внешний вид\1.bmp

WizardSmallImageFile=Images\Внешний вид\2.bmp

SetupIconFile=Images\Внешний вид\back.ico

WindowVisible=no

WindowShowCaption=no

WindowResizable=no

Compression=lzma/normal

DiskSpanning=yes

DiskSliceSize=2100000000

SlicesPerDisk=1



[Languages]

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



[Components]

Name: g0; Description: Прицелы; Flags: collapsed dontinheritcheck

Name: g0\c1; Description: Анимированный прицел (Снайперский); Flags: exclusive

Name: g0\c2; Description: Белый прицел; Flags: exclusive

Name: g0\c3; Description: Прицел как у 40 тонн; Flags: exclusive

Name: g0\c4; Description: Прицел Кирилла Орешкина (Зеленый); Flags: exclusive

Name: g0\c5; Description: Прицел Кирилла Орешкина (Синий); Flags: exclusive

Name: g0\c6; Description: Сведение с Пробитием снаряда и Толщиной брони; Flags: exclusive

Name: g0\c7; Description: Снайперский прицел (Простой); Flags: exclusive

Name: g0\c8; Description: Снайперский прицел Warface; Flags: exclusive

Name: g0\c10; Description: Снайперский прицел Минималистический; Flags: exclusive

Name: g0\c8; Description: Снайперский прицел TAIPAN; Flags: exclusive

Name: g0\c10; Description: Прицел от Андрея Тареева; Flags: exclusive

Name: g0; Description: Арт-Прицелы; Flags: collapsed dontinheritcheck

Name: g0\c11; Description: Анимированный Арт-прицел; Flags: exclusive

Name: g0\c14; Description: Арт-прицел (Белый); Flags: exclusive

Name: g0\c15; Description: Арт-прицел (Простой); Flags: exclusive

Name: g0\c16; Description: Необычный Арт-прицел; Flags: exclusive

Name: g0; Description: Панели повреждений; Flags: collapsed dontinheritcheck

Name: g0\c17; Description: Анимированная Дамаг панель; Flags: exclusive

Name: g0\c18; Description: Дамаг панель (Прозрачная); Flags: exclusive

Name: g0\c19; Description: Дамаг панель (Прозрачная) с таймером починки; Flags: exclusive

Name: g0\c20; Description: Дамаг панель (С новыми иконками модулей); Flags: exclusive

Name: g0\c21; Description: Дамаг панель Xbox; Flags: exclusive

Name: g0\c22; Description: Дамаг панель Бионик (Зеленый); Flags: exclusive

Name: g0\c23; Description: Дамаг панель Бионик (Черный); Flags: exclusive

Name: g0\c24; Description: Дамаг панель в стиле RPG; Flags: exclusive

Name: g0\c25; Description: Дамаг панель от zayaz; Flags: exclusive

Name: g0\c26; Description: Китайская дамаг панель; Flags: exclusive

Name: g0; Description: Дамаг индикаторы; Flags: collapsed dontinheritcheck

Name: g0\c27; Description: Дамаг индикатор; Flags: exclusive

Name: g0\c28; Description: Дамаг индикатор (Легкий); Flags: exclusive

Name: g0\c29; Description: Дамаг индикатор (Пуля); Flags: exclusive

Name: g0\c30; Description: Дамаг индикатор Warface; Flags: exclusive

Name: g0\c30; Description: Дамаг индикатор (Простой); Flags: exclusive

Name: g0; Description: Маркеры фокуса; Flags: collapsed dontinheritcheck

Name: g0\c31; Description: Маркер фокуса (Атакую) желтый; Flags: exclusive

Name: g0\c32; Description: Маркер фокуса (Атакую) зеленый; Flags: exclusive

Name: g0\c33; Description: Маркер фокуса (Атакую) красный; Flags: exclusive

Name: g0\c34; Description: Маркер фокуса (Атакую) синий; Flags: exclusive

Name: g0; Description: УГН (Углы Горизонтальной Наводки); Flags: collapsed dontinheritcheck

Name: g0\c35; Description: УГН для ПТ (Желтые); Flags: exclusive

Name: g0\c36; Description: УГН для ПТ в стиле zayaz; Flags: exclusive

Name: g0\c37; Description: УГН для ПТ и Арты (MeltyMap) + Улучшеная мини-карта; Flags: exclusive

Name: g0\c38; Description: УГН для ПТ и Арты (Квадратные); Flags: exclusive

Name: g0\c39; Description: УГН для ПТ и Арты (Оранжевые); Flags: exclusive

Name: g0; Description: Иконки; Flags: collapsed dontinheritcheck

Name: g0\c41; Description: Иконки снарядов; Flags: dontinheritcheck

Name: g0; Description: Мини-карты; Flags: collapsed dontinheritcheck

Name: g0\c44; Description: Мини карта (Названия танков, луч, радиус обзора); Flags: exclusive

Name: g0\c44; Description: Мини карта (Названия танков, луч, сонар, радиус обзора, ники игроков); Flags: exclusive

Name: g0\c44; Description: Мини карта Мини карта (Направление стволом противника и арты); Flags: exclusive

Name: g0; Description: Часы; Flags: collapsed dontinheritcheck

Name: g0\c46; Description: Часы в бою; Flags: dontinheritcheck

Name: g0\c47; Description: Часы с датой в ангаре (Белые); Flags: dontinheritcheck

Name: g0\c48; Description: Часы с датой в бою; Flags: dontinheritcheck

Name: g0; Description: Шкурки; Flags: dontinheritcheck

Name: g0; Description: Разное; Flags: collapsed dontinheritcheck

Name: g0\c51; Description: Дебуг панель; Flags: dontinheritcheck

Name: g0\c52; Description: Души танков; Flags: dontinheritcheck

Name: g0\c53; Description: Души танков в виде Оленя; Flags: dontinheritcheck

Name: g0\c54; Description: Зум; Flags: dontinheritcheck

Name: g0\c55; Description: Убираем черноту в снайперском режиме; Flags: dontinheritcheck

Name: g0\c56; Description: Цветные пробития; Flags: dontinheritcheck



#define Files

[Files]

#ifdef Files

Source: "Сборка (Собери Сам)\---Прицелы---\Анимированный прицел (Снайперский)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c1

Source: "Сборка (Собери Сам)\---Прицелы---\Белый прицел\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c2

Source: "Сборка (Собери Сам)\---Прицелы---\Прицел как у 40 тонн\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c3

Source: "Сборка (Собери Сам)\---Прицелы---\Прицел Кирилла Орешкина (Зеленый)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c4

Source: "Сборка (Собери Сам)\---Прицелы---\Прицел Кирилла Орешкина (Синий)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c5

Source: "Сборка (Собери Сам)\---Прицелы---\Сведение с Пробитием снаряда и Толщиной брони\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c6

Source: "Сборка (Собери Сам)\---Прицелы---\Снайперский прицел (Простой)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c7

Source: "Сборка (Собери Сам)\---Прицелы---\Снайперский прицел Warface\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c8

Source: "Сборка (Собери Сам)\---Прицелы---\Снайперский прицел Минималистический\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c10

Source: "Сборка (Собери Сам)\---Прицелы---\Снайперский прицел TAIPAN\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c10

Source: "Сборка (Собери Сам)\---Прицелы---\Прицел от Андрея Тареева\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c10

Source: "Сборка (Собери Сам)\---Арт прицелы---\Анимированный Арт-прицел\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c11

Source: "Сборка (Собери Сам)\---Арт прицелы---\Арт-прицел (Белый)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c14

Source: "Сборка (Собери Сам)\---Арт прицелы---\Арт-прицел (Простой)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c15

Source: "Сборка (Собери Сам)\---Арт прицелы---\Необычный Арт-прицел\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c16

Source: "Сборка (Собери Сам)\---Панели повреждений---\Анимированная Дамаг панель\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c17

Source: "Сборка (Собери Сам)\---Панели повреждений---\Дамаг панель (Прозрачная)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c18

Source: "Сборка (Собери Сам)\---Панели повреждений---\Дамаг панель (Прозрачная) с таймером починки\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c19

Source: "Сборка (Собери Сам)\---Панели повреждений---\Дамаг панель (С новыми иконками модулей)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c20

Source: "Сборка (Собери Сам)\---Панели повреждений---\Дамаг панель Xbox\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c21

Source: "Сборка (Собери Сам)\---Панели повреждений---\Дамаг панель Бионик (Зеленый)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c22

Source: "Сборка (Собери Сам)\---Панели повреждений---\Дамаг панель Бионик (Черный)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c23

Source: "Сборка (Собери Сам)\---Панели повреждений---\Дамаг панель в стиле RPG\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c24

Source: "Сборка (Собери Сам)\---Панели повреждений---\Дамаг панель от zayaz\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c25

Source: "Сборка (Собери Сам)\---Панели повреждений---\Китайская дамаг панель\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c26

Source: "Сборка (Собери Сам)\---Дамаг индикаторы---\Дамаг индикатор\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c27

Source: "Сборка (Собери Сам)\---Дамаг индикаторы---\Дамаг индикатор (Легкий)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c28

Source: "Сборка (Собери Сам)\---Дамаг индикаторы---\Дамаг индикатор (Пуля)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c29

Source: "Сборка (Собери Сам)\---Дамаг индикаторы---\Дамаг индикатор Warface\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c30

Source: "Сборка (Собери Сам)\---Маркеры фокуса---\Маркер фокуса (Атакую) желтый\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c31

Source: "Сборка (Собери Сам)\---Маркеры фокуса---\Маркер фокуса (Атакую) зеленый\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c32

Source: "Сборка (Собери Сам)\---Маркеры фокуса---\Маркер фокуса (Атакую) красный\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c33

Source: "Сборка (Собери Сам)\---Маркеры фокуса---\Маркер фокуса (Атакую) синий\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c34

Source: "Сборка (Собери Сам)\---УГН---\УГН для ПТ (Желтые)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c35

Source: "Сборка (Собери Сам)\---УГН---\УГН для ПТ в стиле zayaz\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c36

Source: "Сборка (Собери Сам)\---УГН---\УГН для ПТ и Арты (MeltyMap) + Улучшеная мини-карта\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c37

Source: "Сборка (Собери Сам)\---УГН---\УГН для ПТ и Арты (Квадратные)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c38

Source: "Сборка (Собери Сам)\---УГН---\УГН для ПТ и Арты (Оранжевые)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c39

Source: "Сборка (Собери Сам)\---Иконки---\Иконки снарядов\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c41

Source: "Сборка (Собери Сам)\---Мини карты---\Мини карта (Названия танков, луч, радиус обзора)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c44

Source: "Сборка (Собери Сам)\---Мини карты---\Мини карта (Названия танков, луч, сонар, радиус обзора, ники игроков)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c44

Source: "Сборка (Собери Сам)\---Мини карты---\Мини карта (Направление стволом противника и арты)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c44

Source: "Сборка (Собери Сам)\---Часы---\Часы в бою\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c46

Source: "Сборка (Собери Сам)\---Часы---\Часы с датой в ангаре (Белые)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c47

Source: "Сборка (Собери Сам)\---Часы---\Часы с датой в бою\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c48

Source: "Сборка (Собери Сам)\---Разное---\Дебуг панель\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c51

Source: "Сборка (Собери Сам)\---Разное---\Души танков\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c52

Source: "Сборка (Собери Сам)\---Разное---\Души танков в виде Оленя\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c53

Source: "Сборка (Собери Сам)\---Разное---\Зум\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c54

Source: "Сборка (Собери Сам)\---Разное---\Убираем черноту в снайперском режиме\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c55

Source: "Сборка (Собери Сам)\---Разное---\Цветные пробития\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: g0\c56

#endif

Source: BASS_Files\*; DestDir: {tmp}; Flags: dontcopy

Source: C:\Users\Farser\Desktop\BASS_Files\music.mp3; DestDir: {tmp}; Flags: dontcopy

Source: Images\Содержимое\{#Pic1}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic2}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic3}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic4}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic5}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic6}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic7}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic8}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic9}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic10}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic11}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic12}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic13}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic14}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic15}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic16}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic17}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic18}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic19}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic20}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic21}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic22}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic23}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic24}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic25}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic26}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic27}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic28}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic29}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic30}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic31}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic32}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic33}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic34}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic35}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic36}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic37}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic38}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic39}.bmp; Flags: dontcopy nocompression

Source: Images\Содержимое\{#Pic40}.bmp; Flags: dontcopy nocompression





[Icons]

Name: "{group}\{cm:UninstallProgram,World of Tanks}"; Filename: "{uninstallexe}"



[UninstallDelete]

Name: {app}; Type: dirifempty;


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


[code]

#ifdef UNICODE

#define A "W"

#else

#define A "A"

#endif



const

UNDEF_INDEX = -777;

ALPHA_BLEND_LEVEL = 230; // max=Byte=255



WS_EX_LAYERED = $80000;

WS_EX_TRANSPARENT = $20;

LWA_COLORKEY = 1;

LWA_ALPHA = 2;

GWL_EXSTYLE = (-20);





Color = clblack;

procedure Formcolor();

begin

WizardForm.Font.Color:=clWhite;

WizardForm.TypesCombo.TabStop := False;

WizardForm.Color:=Color;

WizardForm.WelcomePage.Color:=Color;

WizardForm.InnerPage.Color:=Color;

WizardForm.FinishedPage.Color:=Color;

WizardForm.LicensePage.Color:=Color;

WizardForm.PasswordPage.Color:=Color;

WizardForm.InfoBeforePage.Color:=Color;

WizardForm.UserInfoPage.Color:=Color;

WizardForm.SelectDirPage.Color:=Color;

WizardForm.SelectComponentsPage.Color:=Color;

WizardForm.SelectProgramGroupPage.Color:=Color;

WizardForm.SelectTasksPage.Color:=Color;

WizardForm.ReadyPage.Color:=Color;

WizardForm.PreparingPage.Color:=Color;

WizardForm.InstallingPage.Color:=Color;

WizardForm.InfoAfterPage.Color:=Color;

WizardForm.DirEdit.Color:=Color;

WizardForm.DiskSpaceLabel.Color:=Color;

WizardForm.DirEdit.Color:=Color;

WizardForm.GroupEdit.Color:=Color;

WizardForm.PasswordLabel.Color:=Color;

WizardForm.PasswordEdit.Color:=Color;

WizardForm.PasswordEditLabel.Color:=Color;

WizardForm.ReadyMemo.Color:=Color;

WizardForm.ReadyMemo.ScrollBars:= ssNone

WizardForm.DirEdit.TabStop := False;

WizardForm.TypesCombo.Color:=Color;

WizardForm.WelcomeLabel1.Color:=Color;

WizardForm.WelcomeLabel1.Font.Color:=clWhite;

WizardForm.GroupEdit.TabStop := False;

WizardForm.InfoBeforeClickLabel.Color:=Color;

WizardForm.MainPanel.Color:=Color;

WizardForm.PageNameLabel.Color:=Color;

WizardForm.PageDescriptionLabel.Color:=Color;

WizardForm.ReadyLabel.Color:=Color;

WizardForm.FinishedLabel.Color:=Color;

WizardForm.YesRadio.Color:=Color;

WizardForm.NoRadio.Color:=Color;

WizardForm.WelcomeLabel2.Color:=Color;

WizardForm.LicenseLabel1.Color:=Color;

WizardForm.InfoAfterClickLabel.Color:=Color;

WizardForm.ComponentsList.Color:=Color;

WizardForm.ComponentsDiskSpaceLabel.Color:=Color;

WizardForm.BeveledLabel.Color:=Color;

WizardForm.StatusLabel.Color:=Color;

WizardForm.FilenameLabel.Color:=Color;

WizardForm.SelectDirLabel.Color:=Color;

WizardForm.SelectStartMenuFolderLabel.Color:=Color;

WizardForm.SelectComponentsLabel.Color:=Color;

WizardForm.SelectTasksLabel.Color:=Color;

WizardForm.LicenseAcceptedRadio.Color:=Color;

WizardForm.LicenseNotAcceptedRadio.Color:=Color;

WizardForm.UserInfoNameLabel.Color:=Color;

WizardForm.UserInfoNameEdit.Color:=Color;

WizardForm.UserInfoOrgLabel.Color:=Color;

WizardForm.UserInfoOrgEdit.Color:=Color;

WizardForm.PreparingLabel.Color:=Color;

WizardForm.FinishedHeadingLabel.Color:=Color;

WizardForm.FinishedHeadingLabel.Font.Color:=clWhite;

WizardForm.ComponentsList.TreeViewStyle := True;

WizardForm.UserInfoSerialLabel.Color:=Color;

WizardForm.UserInfoSerialEdit.Color:=Color;

WizardForm.TasksList.Color:=Color;

WizardForm.RunList.Color:=Color;

WizardForm.SelectDirBrowseLabel.Color:=Color;

WizardForm.SelectStartMenuFolderBrowseLabel.Color:=Color;

WizardForm.PageNameLabel.Font.Color:=clWhite;

end;



var

InfoPic: TBitmapImage;

LastIndex: Integer;

TempPath: String;

PicForm: TForm;





type

COLORREF = DWORD;





function GetCursorPos(var lpPoint: TPoint): BOOL; external 'GetCursorPos@user32.dll stdcall';

function SetLayeredWindowAttributes(Hwnd: THandle; crKey: COLORREF; bAlpha: Byte; dwFlags: DWORD): Boolean; external 'SetLayeredWindowAttributes@user32.dll stdcall';

function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLong{#A}@user32.dll stdcall';

function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall';

function SetFocus(hWnd: HWND): HWND; external 'SetFocus@user32.dll stdcall';





procedure ShowPicHint(const PicFilePath: String);

var

pt: TPoint;

begin

if not GetCursorPos(pt) then Exit;

InfoPic.Bitmap.LoadFromFile(PicFilePath);

try

with PicForm do

begin

SetBounds(ScaleX(pt.x + 16), ScaleY(pt.y + 7), InfoPic.Width, InfoPic.Height);

SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED);

SetLayeredWindowAttributes(Handle, 0, ALPHA_BLEND_LEVEL, LWA_ALPHA);

Show;

end;

finally

SetFocus(WizardForm.Handle);

end;

end;





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

var

UndefPic: String;

begin

if Index = -1 then Exit;

if Index = LastIndex then Exit;

try

case TNewCheckListBox(Sender).ItemCaption[Index] of

'Анимированный прицел (Снайперский)': UndefPic := '{#Pic1}.bmp';

'Белый прицел': UndefPic := '{#Pic2}.bmp';

'Прицел как у 40 тонн': UndefPic := '{#Pic3}.bmp';

'Прицел Кирилла Орешкина (Зеленый)': UndefPic := '{#Pic4}.bmp';

'Прицел Кирилла Орешкина (Синий)': UndefPic := '{#Pic5}.bmp';

'Сведение с Пробитием снаряда и Толщиной брони': UndefPic := '{#Pic6}.bmp';

'Снайперский прицел (Простой)': UndefPic := '{#Pic7}.bmp';

'Снайперский прицел Warface': UndefPic := '{#Pic8}.bmp';

'Снайперский прицел Минималистический': UndefPic := '{#Pic9}.bmp';

'Спайперский прицел ZX mini': UndefPic := '{#Pic10}.bmp';

'Анимированный Арт-прицел': UndefPic := '{#Pic11}.bmp';

'Арт-прицел (Белый)': UndefPic := '{#Pic12}.bmp';

'Арт-прицел (Простой)': UndefPic := '{#Pic13}.bmp';

'Необычный Арт-прицел': UndefPic := '{#Pic14}.bmp';

'Анимированная Дамаг панель': UndefPic := '{#Pic15}.bmp';

'Дамаг панель (Прозрачная)': UndefPic := '{#Pic16}.bmp';

'Дамаг панель (Прозрачная) с таймером починки': UndefPic := '{#Pic17}.bmp';

'Дамаг панель (С новыми иконками модулей)': UndefPic := '{#Pic18}.bmp';

'Дамаг панель Xbox': UndefPic := '{#Pic19}.bmp';

'Дамаг панель Бионик (Зеленый)': UndefPic := '{#Pic20}.bmp';

'Дамаг панель Бионик (Черный)': UndefPic := '{#Pic21}.bmp';

'Дамаг панель в стиле RPG': UndefPic := '{#Pic22}.bmp';

'Дамаг панель от zayaz': UndefPic := '{#Pic23}.bmp';

'Китайская дамаг панель': UndefPic := '{#Pic24}.bmp';

'Дамаг индикатор (Легкий)': UndefPic := '{#Pic25}.bmp';

'Дамаг индикатор (Простой)': UndefPic := '{#Pic26}.bmp';

'Дамаг индикатор (Пуля)': UndefPic := '{#Pic27}.bmp';

'Дамаг индикатор Warface': UndefPic := '{#Pic28}.bmp';

'Дамаг индикатор': UndefPic := '{#Pic29}.bmp';

'Маркер фокуса (Атакую) желтый': UndefPic := '{#Pic30}.bmp';

'Маркер фокуса (Атакую) зеленый': UndefPic := '{#Pic31}.bmp';

'Маркер фокуса (Атакую) красный': UndefPic := '{#Pic32}.bmp';

'Маркер фокуса (Атакую) синий': UndefPic := '{#Pic33}.bmp';

'УГН для ПТ (Желтые)': UndefPic := '{#Pic34}.bmp';

'УГН для ПТ в стиле zayaz': UndefPic := '{#Pic35}.bmp';

'УГН для ПТ и Арты (MeltyMap) + Улучшеная мини-карта': UndefPic := '{#Pic36}.bmp';

'УГН для ПТ и Арты (Квадратные)': UndefPic := '{#Pic37}.bmp';

'УГН для ПТ и Арты (Оранжевые)': UndefPic := '{#Pic38}.bmp';

'Иконки снарядов': UndefPic := '{#Pic39}.bmp';

'Мини карта (Названия танков, луч, радиус обзора)': UndefPic := '{#Pic40}.bmp';

else

begin

LastIndex := UNDEF_INDEX;

PicForm.Hide;

Exit;

end;

end;

if not FileExists(TempPath + UndefPic) then ExtractTemporaryFile(UndefPic);

ShowPicHint(TempPath + UndefPic);

finally

LastIndex := Index;

end;

end;





procedure CompOnMouseLeave(Sender: TObject);

begin

PicForm.Hide;

end;





procedure InitInfo();

begin

WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove;

WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave;

TempPath := AddBackslash(ExpandConstant('{tmp}'));

LastIndex := UNDEF_INDEX;

PicForm := TForm.Create(WizardForm)

with PicForm do

begin

BorderStyle := bsNone;

FormStyle := fsStayOnTop;

InfoPic := TBitmapImage.Create(PicForm)

with InfoPic do

begin

Parent := PicForm;

AutoSize := True;

end;

end;

end;











procedure InitializeWizard();

begin

Formcolor();

InitInfo();

WizardForm.TypesCombo.Visible := False;



ExtractTemporaryFile('BASS.dll');

ExtractTemporaryFile('CallbackCtrl.dll');

ExtractTemporaryFile('botva2.dll');

ExtractTemporaryFile('MusicButton.png');

ExtractTemporaryFile('Music.mp3');



BASS_Init('{tmp}\Music.mp3') //Запускаем музыку

//Можно добавить в инсталл несколько песен

//BASS_Init(ExpandConstant('{tmp}\*')) //Поиск по маске

BASS_CreateOnOffButton(WizardForm, '{tmp}\MusicButton.png', 20, 320, 36, 36, 4) //Создаем кнопку вкл/выкл

end;



procedure DeinitializeSetup();

begin

BASS_DeInit; //Освобождаем процесс

gdipShutdown

end;
Ответить

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