Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: sjwrec
Дата сообщения: 14.05.2013 21:08
Black_Ghost
Про картинку Папка - у меня ничего не получилось

Полоска выбора пути:

Код:
WizardForm.DirEdit.Color:=clBlack;
WizardForm.DirEdit.Font.Color:=clWhite;
Автор: Black_Ghost
Дата сообщения: 14.05.2013 21:10
sjwrec
Хорошо. Огромное спасибо за помощь!)
Автор: sjwrec
Дата сообщения: 14.05.2013 21:30
Black_Ghost
Кое что ещё о кнопках (ваша часть кода с моей строкой)

Код:
procedure CurPageChanged(CurPageID: Integer);
begin
pnl:= TPanel.Create(WizardForm);
with pnl do
begin
Align:= alClient;
Parent:= WizardForm;
Color:=clBlack; // Может из за этой строки возле кнопок исчезнут полосы
end;
Автор: Black_Ghost
Дата сообщения: 15.05.2013 08:41
sjwrec
помогло, спасибо)
осталось разобраться с ярлыками и папкой...
Автор: sjwrec
Дата сообщения: 15.05.2013 10:28
Black_Ghost
Не могли бы Вы выложить файлы:

Tiger.cjstyles
logo.bmp
splash.png

Мне так будет легче проверять скрипт.

И ещё, я не нашёл в Вашем скрипте вызова IsSkin.dll при деинсталляции игры,
поэтому можно библиотеку распаковывать в Temp а не в папку с игрой.

Код:
Source: "ISSkin.dll"; DestDir: {tmp}; Flags: dontcopy
Автор: Black_Ghost
Дата сообщения: 15.05.2013 10:39
вот файлы
кстати, у меня лого на инсталляторе пропало...
Автор: sjwrec
Дата сообщения: 15.05.2013 11:14
Black_Ghost
Лого нашёл, причина - нужно вызов "Logo();" переместить в этот код:

Код:
pnl:= TPanel.Create(WizardForm);
with pnl do
begin
Align:= alClient;
Parent:= WizardForm;
Color:=clBlack; // Может из за этой строки возле кнопок исчезнут полосы
end;
Logo();
Автор: Black_Ghost
Дата сообщения: 15.05.2013 11:22
sjwrec
Хм... А как их создать не подскажете?
Автор: sjwrec
Дата сообщения: 15.05.2013 11:34
Black_Ghost
У Вас все компоненты страниц расположены на специальной панели, для добавления остальных страниц Вам нужно точно знать названия всех компонентов на нужной странице, а затем прикрепить (Parent:=pnl;) их на панель и прописать условие вызова страницы.

Я могу это сделать, но незнаю сколько это займёт времени.
Автор: Black_Ghost
Дата сообщения: 15.05.2013 11:49
sjwrec
Сделайте, пожалуйста, а я подожду.
Автор: sjwrec
Дата сообщения: 15.05.2013 12:53
Black_Ghost
Вот страница Выбор папки ярлыка

Это добавить перед //// Ready Page ////
[more= Код страницы]
///////////////////////GroupDirPage//////////////////////////////////////
procedure SelectGroupPage;
begin
with WizardForm do
begin
with GroupEdit do
begin
Left:= 40;
Top:= 137;
Parent:= pnl;
Color:=clBlack;
Font.Color:=clWhite;
end;
with GroupBrowseButton do
begin
Left:= WizardForm.GroupEdit.Left + WizardForm.GroupEdit.Width + 10;
Top:= WizardForm.GroupEdit.Top - 1;
Parent:= pnl;
end;
with NoIconsCheck do
begin
Left:= WizardForm.GroupEdit.Left;
Top:= 300;
Width:=13;
Height:=13;
Parent:= pnl;
end;
with SelectDirBitmapImage do
begin
Left:= WizardForm.GroupEdit.Left;
Top:= WizardForm.GroupEdit.Top - 62;
Stretch:= True;
Parent:= pnl;
end;
end;
with TLabel.Create(pnl) do
begin
//AutoSize:= WizardForm.NoIconsCheckLabel.AutoSize;
SetBounds(WizardForm.NoIconsCheck.Left +20,WizardForm.NoIconsCheck.Top - 1,
WizardForm.SelectStartMenuFolderBrowseLabel.Width, WizardForm.SelectStartMenuFolderBrowseLabel.Height);
//WordWrap:= WizardForm.NoIconsCheck.WordWrap;
Caption:= WizardForm.NoIconsCheck.Caption;
OnClick:= WizardForm.NoIconsCheck.OnClick;
with Font do
begin
Color:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Color;
Style:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Style;
Name:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Name;
Size:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.SelectStartMenuFolderBrowseLabel.AutoSize;
SetBounds(WizardForm.GroupEdit.Left,WizardForm.DirEdit.Top - 30,
WizardForm.SelectStartMenuFolderBrowseLabel.Width, WizardForm.SelectStartMenuFolderBrowseLabel.Height);
WordWrap:= WizardForm.SelectStartMenuFolderBrowseLabel.WordWrap;
Caption:= WizardForm.SelectStartMenuFolderBrowseLabel.Caption;
with Font do
begin
Color:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Color;
Style:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Style;
Name:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Name;
Size:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.SelectDirLabel.AutoSize;
SetBounds(WizardForm.SelectDirBitmapImage.Left + 50,WizardForm.SelectDirBitmapImage.Top + 10,
WizardForm.SelectDirLabel.Width,WizardForm.SelectDirLabel.Height);
WordWrap:= WizardForm.SelectDirLabel.WordWrap;
Caption:= WizardForm.SelectStartMenuFolderLabel.Caption;
with Font do
begin
Color:= WizardForm.SelectDirLabel.Font.Color;
Style:= WizardForm.SelectDirLabel.Font.Style;
Name:= WizardForm.SelectDirLabel.Font.Name;
Size:= WizardForm.SelectDirLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
pnl.Repaint;
end;
/////////////////////////////////////////////////////////////////
[/more]

Этот код добавить как здесь показано

Код:
if CurPageID = wpSelectDir then SelectDirPage;
if CurPageID = wpSelectProgramGroup then SelectGroupPage;
if CurPageID = wpReady then ReadyPage;
Автор: Black_Ghost
Дата сообщения: 15.05.2013 13:30
sjwrec
Теперь не отображается путь установки игры и дополнительных задач (directX и visual)
Автор: sjwrec
Дата сообщения: 15.05.2013 13:36
Black_Ghost
Хм странно, Выбор папки у меня отображается, Выбор ярлыка отображается, старницу задач ещё делаю, поэтому и не отображается.

Вот как должна быть добавлена страница

[more]
///////////////////////SelectDirPage//////////////////////////////////////
procedure SelectDirPage;
begin
with WizardForm do
begin
with DirEdit do
begin
Left:= 40;
Top:= 137;
Parent:= pnl;
end;
with DirBrowseButton do
begin
Left:= WizardForm.DirEdit.Left + WizardForm.DirEdit.Width + 10;
Top:= WizardForm.DirEdit.Top - 1;
Parent:= pnl;
end;
with SelectDirBitmapImage do
begin
Left:= WizardForm.DirEdit.Left;
Top:= WizardForm.DirEdit.Top - 62;
Stretch:= True;
Parent:= pnl;
end;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.SelectDirBrowseLabel.AutoSize;
SetBounds(WizardForm.DirEdit.Left,WizardForm.DirEdit.Top - 30,
WizardForm.SelectDirBrowseLabel.Width, WizardForm.SelectDirBrowseLabel.Height);
WordWrap:= WizardForm.SelectDirBrowseLabel.WordWrap;
Caption:= WizardForm.SelectDirBrowseLabel.Caption;
with Font do
begin
Color:= WizardForm.SelectDirBrowseLabel.Font.Color;
Style:= WizardForm.SelectDirBrowseLabel.Font.Style;
Name:= WizardForm.SelectDirBrowseLabel.Font.Name;
Size:= WizardForm.SelectDirBrowseLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.SelectDirLabel.AutoSize;
SetBounds(WizardForm.SelectDirBitmapImage.Left + 50,WizardForm.SelectDirBitmapImage.Top + 10,
WizardForm.SelectDirLabel.Width,WizardForm.SelectDirLabel.Height);
WordWrap:= WizardForm.SelectDirLabel.WordWrap;
Caption:= WizardForm.SelectDirLabel.Caption;
with Font do
begin
Color:= WizardForm.SelectDirLabel.Font.Color;
Style:= WizardForm.SelectDirLabel.Font.Style;
Name:= WizardForm.SelectDirLabel.Font.Name;
Size:= WizardForm.SelectDirLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.DiskSpaceLabel.AutoSize;
SetBounds(WizardForm.DirEdit.Left,WizardForm.Bevel.Top - 25,
WizardForm.DiskSpaceLabel.Width,WizardForm.DiskSpaceLabel.Height);
WordWrap:= WizardForm.DiskSpaceLabel.WordWrap;
Caption:= WizardForm.DiskSpaceLabel.Caption;
with Font do
begin
Color:= WizardForm.DiskSpaceLabel.Font.Color;
Style:= WizardForm.DiskSpaceLabel.Font.Style;
Name:= WizardForm.DiskSpaceLabel.Font.Name;
Size:= WizardForm.DiskSpaceLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
pnl.Repaint;
end;
/////////////////////////////////////////////////////////////////

///////////////////////GroupDirPage//////////////////////////////////////
procedure SelectGroupPage;
begin
with WizardForm do
begin
with GroupEdit do
begin
Left:= 40;
Top:= 137;
Parent:= pnl;
Color:=clBlack;
Font.Color:=clWhite;
end;
with GroupBrowseButton do
begin
Left:= WizardForm.GroupEdit.Left + WizardForm.GroupEdit.Width + 10;
Top:= WizardForm.GroupEdit.Top - 1;
Parent:= pnl;
end;
with NoIconsCheck do
begin
Left:= WizardForm.GroupEdit.Left;
Top:= 300;
Width:=13;
Height:=13;
Parent:= pnl;
end;
with SelectDirBitmapImage do
begin
Left:= WizardForm.GroupEdit.Left;
Top:= WizardForm.GroupEdit.Top - 62;
Stretch:= True;
Parent:= pnl;
end;
end;
with TLabel.Create(pnl) do
begin
//AutoSize:= WizardForm.NoIconsCheckLabel.AutoSize;
SetBounds(WizardForm.NoIconsCheck.Left +20,WizardForm.NoIconsCheck.Top - 1,
WizardForm.SelectStartMenuFolderBrowseLabel.Width, WizardForm.SelectStartMenuFolderBrowseLabel.Height);
//WordWrap:= WizardForm.NoIconsCheck.WordWrap;
Caption:= WizardForm.NoIconsCheck.Caption;
OnClick:= WizardForm.NoIconsCheck.OnClick;
with Font do
begin
Color:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Color;
Style:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Style;
Name:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Name;
Size:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.SelectStartMenuFolderBrowseLabel.AutoSize;
SetBounds(WizardForm.GroupEdit.Left,WizardForm.DirEdit.Top - 30,
WizardForm.SelectStartMenuFolderBrowseLabel.Width, WizardForm.SelectStartMenuFolderBrowseLabel.Height);
WordWrap:= WizardForm.SelectStartMenuFolderBrowseLabel.WordWrap;
Caption:= WizardForm.SelectStartMenuFolderBrowseLabel.Caption;
with Font do
begin
Color:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Color;
Style:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Style;
Name:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Name;
Size:= WizardForm.SelectStartMenuFolderBrowseLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
with TLabel.Create(pnl) do
begin
AutoSize:= WizardForm.SelectDirLabel.AutoSize;
SetBounds(WizardForm.SelectDirBitmapImage.Left + 50,WizardForm.SelectDirBitmapImage.Top + 10,
WizardForm.SelectDirLabel.Width,WizardForm.SelectDirLabel.Height);
WordWrap:= WizardForm.SelectDirLabel.WordWrap;
Caption:= WizardForm.SelectStartMenuFolderLabel.Caption;
with Font do
begin
Color:= WizardForm.SelectDirLabel.Font.Color;
Style:= WizardForm.SelectDirLabel.Font.Style;
Name:= WizardForm.SelectDirLabel.Font.Name;
Size:= WizardForm.SelectDirLabel.Font.Size;
end;
Transparent:= True;
Parent:= pnl;
end;
pnl.Repaint;
end;
/////////////////////////////////////////////////////////////////


///////////////////////ReadyPage//////////////////////////////////////
[/more]
Автор: Black_Ghost
Дата сообщения: 15.05.2013 13:46
sjwrec
Всё равно путь установки не отображается...
Если вы скрипт сохраняете после всех прошлых изменений, то можете мне его потом скинуть?
Автор: sjwrec
Дата сообщения: 15.05.2013 18:46
Black_Ghost
Вот скрипт, но ещё не совсем доделан, на втором скрине (внутри архива) показана проблема с которой я пока немогу справится. Нужно время.
Скрипт
Автор: Black_Ghost
Дата сообщения: 15.05.2013 19:04
sjwrec
Хорошо, буду ждать.
P.S. раз проблема с папкой (белый квадрат во круг неё) не решается, то можно её тогда убрать?
Автор: sjwrec
Дата сообщения: 15.05.2013 19:35
Black_Ghost
Можно и она также исчезнет и со второй страницы

Код:
WizardForm.DirEdit.Color:=clBlack;
WizardForm.DirEdit.Font.Color:=clWhite;
WizardForm.SelectDirBitmapImage.Visible:=False;

pnl:= TPanel.Create(WizardForm);
Автор: Black_Ghost
Дата сообщения: 15.05.2013 21:34
sjwrec
начинаю компилировать скрипт (Новый модульный скрипт v6.0)
и вылезает ошибка:
---------------------------
Ошибка компиляции
---------------------------
Файл: C:\Users\JetJey\Desktop\NEW ENGINE 6.0 2013 (God of War)\MEDIA\SFXPlayer.iss



Строка 7:

Column 1:

Identifier expected.
---------------------------
ОК
---------------------------
Автор: sjwrec
Дата сообщения: 15.05.2013 21:47
Black_Ghost
Компилировать нужно Setup.iss, остальные скрипты - это лишь модули выполняющие разные функции, но компилировать их нельзя!
Автор: Black_Ghost
Дата сообщения: 15.05.2013 21:50
sjwrec
Я и компилировал только Setup.iss
А у вас какая версия Inno Setup?
Автор: sjwrec
Дата сообщения: 15.05.2013 21:53
У Вас не Юникод версия компилятора случайно?
Скрипт работает в такой версии Inno Setup Compiler 5.5.1.ee1. (a) (build 121216)
Автор: Black_Ghost
Дата сообщения: 15.05.2013 21:57
sjwrec
Блин, и правда юникод была, как же я это пропустил...
сейчас все проверю.

При компиляции все равно пишет:

Ошибка компиляции
---------------------------
Файл: C:\Users\JetJey\Desktop\NEW ENGINE 6.0 2013 (God of War)\MEDIA\SFXPlayer.iss



Строка 7:

Column 1:

Identifier expected.

Автор: sjwrec
Дата сообщения: 15.05.2013 22:06
Black_Ghost
Странно. Судя по Вашему компилятору, я неправильно написал слово "var" ? Бред какой-то.

На АНСИ версии у меня всё ОК.


Добавлено:
Новый модульный скрипт v6.0




[more=Реализовано:]
* Splash при запуске
* Встроенный Авторун
* Фоновый проигрыватель MP3
* Звук кнопок (Наведение, нажатие)
* Видеопроигрыватель AVI с кодеком XVID
* Новая оболочка инсталла SJW Install Wizard
* Слайд Шоу с эффектами перехода
* Проверка Системы и Отображение Системных требований
* Панель информации О сборке
* Проверка Свободного места на дисках, защита от установки на диск с недостатком места
и отображение списка доступных дисков для установки.
* Прозрачность всего окна установки
* Меню управления новыми функциями инсталла.
[/more]

Скрипт работает в версии Inno Setup Compiler 5.5.1.ee1. (a) (build 121216)

Скачать 8.3 МБ
Автор: Black_Ghost
Дата сообщения: 15.05.2013 22:24
sjwrec
Я скачал и установил Inno Setup Compiler 5.5.1.ee2. (a) (build 121002)
Поставил АНСИ, но не работает.

P.S. сейчас попробую такую же сборку, как у Вас найти.

Может Inno Setup Свой запакуете и мне скинете, а то найти не могу такую же сборку, как у Вас.
Автор: sjwrec
Дата сообщения: 16.05.2013 06:09
Black_Ghost

Вот

Внутри папки запустите "Compil32Ex"

Ссылка
Автор: Black_Ghost
Дата сообщения: 16.05.2013 07:15
sjwrec
Ту же ошибку выдает...
Автор: sjwrec
Дата сообщения: 16.05.2013 07:30
Black_Ghost
Сейчас скачал свой же архив со скриптом, распаковал на рабочем столе, скомпилировал всё ОК.
Не могу понять в чём причина.
Автор: Black_Ghost
Дата сообщения: 16.05.2013 07:31
sjwrec
А можно ли тогда отключить эту функцию?

Скачал снова архив со скриптом, скомпилировалось без проблем
Автор: sjwrec
Дата сообщения: 16.05.2013 07:44
Black_Ghost
Что можете сказать о скрипте?

Я его сейчас уходил тестировать на Windows 7 Максимальная x86 - результат Отлично.

Сборку скрипта проводил и компилировал на Windows XP SP2


Добавлено:
Да и насчёт отключения функций - конечно можно, зайдите в модуль Media/Media.iss и там увидите как отключить звуки, музыку.

Вообще в скрипте можно отключить почти все функции, нужно лишь закоментировать специальные строки, я написал комментарии к каждой из таких строк.
Автор: Black_Ghost
Дата сообщения: 16.05.2013 08:20
sjwrec
Скрипт хорош, только интерфейс непривычный)
А как изменить надпись "Добро пожаловать в SJW Install Wizard" и мин. сист. требования для игры?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

Предыдущая тема: поиск


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.