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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;


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

Отправлено: 19:06, 28-03-2013

 

SHVtYW4=


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

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


Цитата Mat_y:
что-то не работает.... я правильно делаю:? »
Пробуй пример

Код: Выделить весь код
#define AppID "{B7EB229F-2DFB-4612-AFC0-99773E1E14A8}"

[Setup]
AppId={{#AppID}
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
OutputDir=.

[Code]
var
  MyButton: TNewButton;

procedure InitializeWizard();
begin
  MyButton := TNewButton.Create(WizardForm);
  with MyButton do
  begin
    Parent := WizardForm;
    Left := ScaleX(40);
    Top := ScaleY(328);
    Width := ScaleX(75);
    Height := ScaleY(25);
    Visible := not RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#AppID}_is1');
    Caption := 'Кнопка';
  end;
end;

Скомпилируй
Запусти инсталлятор
Проведи установку
Ещё раз запусти инсталлятор.
Скрылась кнопочка?

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.

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

Отправлено: 20:34, 24-10-2013 | #1351



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

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


Аватара для Dinvin4ester

Старожил


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

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


Ребята, помогите вставить музыку в инсталл - http://sendfile.su/886037.
А вот с этой - http://sendfile.su/886094 сделать музыку по умолчанию , а то при запуске и когда установка идет ее не выключить и разобраться - полная установка со всеми компонентами... , да и у меня не получается , выдает ошибку .
А это , то что мне подсказали ..
читать дальше »
Компоненты
Код:
[Components]
Name: a; Description: AAA; Types: full
Name: a; Description: AAA
Здесь обрати внимание на ; Types: full, если нужно чтоб выбиралось то вставь ; Types: full.
full - это полная установка.
custom - это выборочная установка
compact - это компактная установка.




Задачи
Код:
[Tasks]
Name: a; Description: A
Name: a; Description: A; Flags: unchecked
Обрати внимание на Flags: unchecked если нужно чтоб выбиралось, то убери Flags: unchecked.

Последний раз редактировалось Dinvin4ester, 25-10-2013 в 00:09.


Отправлено: 22:13, 24-10-2013 | #1352


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


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

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


Цитата Nordek:
Скомпилируй
Запусти инсталлятор
Проведи установку
Ещё раз запусти инсталлятор.
Скрылась кнопочка? »
ага... спряталась...

А вот галочка в моем скрипте не хочет прятаться... в чем может быть дело?

Последний раз редактировалось Mat_y, 25-10-2013 в 00:05.


Отправлено: 00:00, 25-10-2013 | #1353


SHVtYW4=


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

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


Цитата Mat_y:
ага... спряталась... »
А теперь аналогичным способом пробуй со своим примером:

читать дальше »
Код: Выделить весь код
#define AppID "{B7EB229F-2DFB-4612-AFC0-99773E1E14A8}"

[Setup]
AppId={{#AppID}
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
OutputDir=.

[Code]
var
  MyTask: TNewCheckBox;

procedure InitializeWizard();
begin
  MyTask := TNewCheckBox.Create(WizardForm);
  with MyTask do
  begin
    Parent := WizardForm.SelectDirPage;
    Left := ScaleX(0);   
    Top := ScaleY(180);   
    Width := ScaleX(400); 
    Height := ScaleY(15); 
    Caption:='Я хочу создать резервную копию';
    TabOrder:=0;
    Checked:=False;
    Visible := not RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#AppID}_is1');
  end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:17, 25-10-2013 | #1354


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


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

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


Цитата Nordek:
А теперь аналогичным способом пробуй со своим примером: »
Все... это первая стадия к безумию...
так все исчезает!
Но если добавляю это в свой код... не работает!
Видимо что-то, где-то не дает спрятаться

Отправлено: 07:54, 25-10-2013 | #1355


Ветеран


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

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


Цитата Mat_y:
Как сделать так, чтобы при повторном запуске установщика, если уже была произведена установка ранее, эта секция не отображалась? »
читать дальше »
Код: Выделить весь код
#define AppID "{{B7EB229F-2DFB-4612-AFC0-99773E1E14A8}"


[Setup]
AppId={#AppID}
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
OutputDir=.


[Code]
var
    MyTask: TCheckBox;
    
    
function My_Task(): Boolean;
begin
    Result := RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + ExpandConstant('{#SetupSetting("AppID")}') + '_is1');

    if not Result then
    begin
        MyTask := TCheckBox.Create(nil);
        with MyTask do
        begin
            Parent := WizardForm.SelectDirPage;
            SetBounds(ScaleX(0), ScaleY(180), ScaleX(400), ScaleY(15));
            Caption := 'Я хочу создать резервную копию';
            Checked := not Result;
        end;
    end;
end;


procedure InitializeWizard();
begin
    My_Task();
end;


ну или покороче:
читать дальше »
Код: Выделить весь код
#define AppID "{{B7EB229F-2DFB-4612-AFC0-99773E1E14A8}"


[Setup]
AppId={#AppID}
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
OutputDir=.


[Code]
var
    MyTask: TCheckBox;
    
    
procedure InitializeWizard();
begin
    if not RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + ExpandConstant('{#SetupSetting("AppID")}') + '_is1') then
    begin
        MyTask := TCheckBox.Create(nil);
        with MyTask do
        begin
            Parent := WizardForm.SelectDirPage;
            SetBounds(ScaleX(0), ScaleY(180), ScaleX(400), ScaleY(15));
            Caption := 'Я хочу создать резервную копию';
            Checked := not RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + ExpandConstant('{#SetupSetting("AppID")}') + '_is1');
        end;
    end;
end;

Последний раз редактировалось saurn, 25-10-2013 в 10:49.

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

Отправлено: 10:38, 25-10-2013 | #1356


Аватара для Johny777

Ветеран


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

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


saurn, позволю себе сделать несколько замечаний касательно кода
1. я привык после написания кода просматривать его на наличие возможностей его оптимизации с точки зрения времени выполнения и экономии памяти
нет смысла гонять RegKeyExists 2 раза, в ней несколько WinApi функций - как мин имум 3 : отрыть, прочитать, закрыть,
нет смысла создавать кнопку, немного теории
например чекбокс это класс, те объявление
var uCBox: TCheckBox; означает объявления указателя uCBox на экземпляр класса TCheckBox, те по адресу скрытому под uCBox
лежит экземпляр класса TCheckBox, который включает в себя методы и свойства
те например свойство Checked имеет за собой как минимум одну булев переменную, простейший пример реализации свойства http://www.delphibasics.ru/Property.php
а есть и другие свойства и методы и локальные методы и свойства в private и всё это занимает память, те речь идёт о экономии памяти.
При вызове метода Free; экземпляр класса по адресу uCBox разрушается и занимаемая им память освобождается
2. Если чекбокс не был создан, то при попытке прочитать значения свойства (отмечен (да/нет)) вылетит ошибка чтения адреса
чтение идёт:
указатель(uCBox)---->указатель(локальная переменная например fArea : LongInt; в примере по ссылке выше)---->значение размером SizeOf(Longint), тк fArea : LongInt;
которое лежит или "начинает лежать" по адресу в последнем указателе fArea
те LongInt = 32 битное число. 1 Byte = 8 Bit. ----> 4 * 8 = 32 => размер LongInt = 4 байта
, НО мы то чекбокс не создали и по адресу uCBox лежит мусор, если не ошибаюсь из "Кучи" - остатки других программ, а адреса fArea тем более нет
те след. вопросом Mat_y могло быть: "почему когда программа установлена вылетает ошибка при проверке отмечен он или нет"
те при динамичном создании компонентов неплохо бы делать простую проверку, а именно
при инициализации присваивать значение нулевого указателя nil http://www.delphibasics.ru/Nil.php
uCBox := nil
и потом проверять if uCBox <> nil (if Assigned(uCBox )) then if uCBox.Checked then ...
короче так:
читать дальше »
Код: Выделить весь код
var
    MyTask: TCheckBox;


procedure InitializeWizard();
var
    Installed: Boolean;
begin
    MyTask := nil;
    Installed := RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + ExpandConstant('{#SetupSetting("AppID")}') + '_is1');
    if not Installed then
    begin
        // присваиваем значение указателя которое возвращает метод конструктора Create 
        MyTask := TCheckBox.Create(nil);
        with MyTask do
        begin
            Parent := WizardForm.SelectDirPage;
            SetBounds(ScaleX(0), ScaleY(180), ScaleX(400), ScaleY(15));
            Caption := 'Я хочу создать резервную копию';
            Checked := not Installed;
        end;
    end;
    
    
    
    
    
    if MyTask <> nil then if MyTask.Checked then Beep;
    
end;

Последний раз редактировалось Johny777, 25-10-2013 в 19:32.

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

Отправлено: 19:09, 25-10-2013 | #1357


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


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

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


Всем доброго времени суток. Подскажите пожалуйста как убрать это из моего установщика:



Скрипт:
читать дальше »

#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]
[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();

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;

Отправлено: 00:47, 26-10-2013 | #1358


SHVtYW4=


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

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


Цитата Farser21:
Подскажите пожалуйста как убрать это из моего установщика »
Код: Выделить весь код
[Code]
procedure InitializeWizard();
begin
  WizardForm.TypesCombo.Visible := False;
end;

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.

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

Отправлено: 07:49, 26-10-2013 | #1359


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


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

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


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

Вот так:
читать дальше »
Код: Выделить весь код
begin
  with WizardForm do
  begin
    with ComponentsList do
    begin
      OnItemMouseMove := @ComponentsListItemMouseMove;
    end;
  end;

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

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

Отправлено: 08:42, 26-10-2013 | #1360



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59




 
Переход