Jump to content
Korean Random
EvilAlex

Создание инсталляторов для модпаков на базе Inno Setup

Recommended Posts

курсорами я видел он занимался раньше, а я сменить в игре хочу, надоел мне он.

 C Flash Decompiler Trillix знаком?

Так вот, с его помощью заменяй изображения в приложенной свфке, а потом забрось по пути res_mods>0.9.1>gui>flash.

Cursor.rar

 

 

Уважаемые, не риторический вопрос: как изменить текст в ReadyLabel на странице ReadyPage? Он даже на вкладке редактора форм затонирован и не подлежит изменению...

Вот так:

  procedure InitializeWizard();
begin
WizardForm.ReadyLabel.Caption := 'Нажмите «Установить», чтобы продолжить.';
end;
Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Вот так:

А вот доктор дулитл! Это было первое, что я сделал :-)

Edited by ventura69

Share this post


Link to post

Short link
Share on other sites

 

 

Это было первое, что я сделал :-)
Ну так, получилось или нет?

Share this post


Link to post

Short link
Share on other sites

Эта страница заколдованная, ReadyMemo вообще не скрывается.

Share this post


Link to post

Short link
Share on other sites

Ну так, получилось или нет?

Неа. Я даже нашел в папке инно дефолтный лист со всеми текстами. Изменил там. Перезапустил... Эффект нулевой. Вот прямо просится Делфи обратно в руки... :-)

Share this post


Link to post

Short link
Share on other sites
Неа. Я даже нашел в папке инно дефолтный лист со всеми текстами. Изменил там. Перезапустил... Эффект нулевой.

Хм, стало интересно, сам попробовал: через дизайнер, InitializeWizard, изменение языкового пакета - ноль, это просто не влияет.. Интересно, почему?)

А вот через процедуру CurPageChanged - получилось:

procedure CurPageChanged(CurPageID: Integer);
begin
 if CurPageID = wpReady then
begin
WizardForm.ReadyLabel.Caption:='123';
end;
end;
Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

 

Хм, стало интересно, сам попробовал: через дизайнер, InitializeWizard, изменение языкового пакета - ноль, это просто не влияет.. Интересно, почему?)

А вот через процедуру CurPageChanged - получилось:

procedure CurPageChanged(CurPageID: Integer);
begin
 if CurPageID = wpReady then
begin
WizardForm.ReadyLabel.Caption:='123';
end;
end;

Ого! Самому стало интересно. Сейчас полезу остальные заблоченые надписи пробовать менять :-) 

Share this post


Link to post

Short link
Share on other sites

Через CurPageID меняется любой текст, только нужные страницы подставляй :-)

Странно это все как-то!

Share this post


Link to post

Short link
Share on other sites

Интересную задачку вы решили мужики, что сказать, респект вам:)


Кому то нужен фикс для ангара маковое поле???

Share this post


Link to post

Short link
Share on other sites

Ребят подскажите как организовать удаление папок по фильтру?
пример:
в директории   \Proga\   лежит несколько папок с именами

File-145
File-356
File-8765
и т.д.
Есть ли способ удалить их как то типа        DelTree(ExpandConstant('{app}\Proga\File-***'), True, True, True);

Share this post


Link to post

Short link
Share on other sites
Есть ли способ удалить их как то типа DelTree(ExpandConstant('{app}\Proga\File-***'), True, True, True);

В Code не проверял.

Но в InstallDelete работает нормально.

Выставь одну * и попробуй.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Уважаемые, очередной дурацкий вопрос.

Код:

procedure SaveToFile(str:string);
var
f:TextFile;
FileDir:String;
begin
FileDir:='c:\file.txt';
AssignFile(f,FileDir);
if not FileExists(FileDir) then
begin
Rewrite(f);
CloseFile(f);
end;
Append(f);
Writeln(f,str);
Flush(f);
CloseFile(f);
end;

Это запись в файл (код из Делфи, давно делал). Сработает ли такой вариант в Inno (проверить, по техническим причинам, к сожалению не могу, потому и спрашиваю)? И самое главное: как записать текст в определенную строку и столбец? 

Share this post


Link to post

Short link
Share on other sites

Уважаемые, вот такая штукенция получилась с вашей помощью... Критику готов слушать, толь не пинайте шибко - все же я новичек в этом деле... 

Вывел все операции с клиентом в отдельную прогу.

UnInstaller by ventura69.rar

post-11632-0-46275400-1404809566_thumb.jpg post-11632-0-57413000-1404809571_thumb.jpg

Share this post


Link to post

Short link
Share on other sites

@ventura69, это деинсталлятор такой? (если да - то файл unins001.exe не должен будет создаваться в папке с игрой, вместо него будет этот заранее запакованный деинсталлятор в инсталлятор, который будет извлекаться при установке) надеюсь, ты понял, что я имею ввиду);

 

'Исправить бы мелкие косметические недоработки (не полностью вместились изображения):'

post-16412-0-31401400-1404817371_thumb.jpg

 

И сделать бы следующее: раз этот расширенный деинсталлятор предназначен для твоей сборки, то хорошо было бы сделать перед запуском программы проверку, на наличие установленной твоей сборки по реестру.. если установленная сборка не найдена - месджбокс и прекращение работы.

Могу наваять пример, если надо..

 

 

И самое главное: как записать текст в определенную строку и столбец?

Могу сказать, как создать файл ини и в него записывать определённые строки, со своими значениями, ключами и секциями:

SetIniString('Section', 'Key', 'Value', ExpandConstant('{app}\ini.ini'));

'будет выглядеть вот так:'

post-16412-0-16102000-1404817849_thumb.jpg

 

А что тебе туда нужно записывать?

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

@ventura69, это деинсталлятор такой? (если да - то файл unins001.exe не должен будет создаваться в папке с игрой, вместо него будет этот заранее запакованный деинсталлятор в инсталлятор, который будет извлекаться при установке) надеюсь, ты понял, что я имею ввиду);

 

'Исправить бы мелкие косметические недоработки (не полностью вместились изображения):'

 

И сделать бы следующее: раз этот расширенный деинсталлятор предназначен для твоей сборки, то хорошо было бы сделать перед запуском программы проверку, на наличие установленной твоей сборки по реестру.. если установленная сборка не найдена - месджбокс и прекращение работы.

 

Могу наваять пример, если надо..

По поводу unins001.exe. Естественно, он не создается. Пограмуля только перетасовывает папки res_mods и чистит ненужные файлы из кэш и папки с апдейтами. Окно инсталлятора пропускается (ставить то нечего :-) )

По поводу невлезшей картинки согласен. Проглядел (больше на бумажку с размерами пялился, чем на реальное отображение).

А почему деинсталлятор только для моей сборки? Эта програмуля подойдет любому (я так думаю) у кого стоит какой-то мод-пак и хочется потестить другой.

На счет примера: буду очень признателен. Мне легче разбираться с кодом на примерах. Я тогда понимаю алгоритм работы и логику кода. А идея такова: есть готовый файл (текстовый) в который в определенное место (строка и столбец) надо вписать определенный текст (цифирь). Это уже себе жизнь на работе облегчаю (завсклад - [ооочень нехорошее слово], склад ведет абы как. Вот и появилась идея реализовать для этой [еще одно ооочень нехорошее слово] прогу, чтобы он мне нервы не трепал).

Share this post


Link to post

Short link
Share on other sites

 

 

На счет примера: буду очень признателен. Мне легче разбираться с кодом на примерах. Я тогда понимаю алгоритм работы и логику кода. А идея такова: есть готовый файл (текстовый) в который в определенное место (строка и столбец) надо вписать определенный текст (цифирь).
Я имел ввиду пример поиска установленной сборки в реестре..

А как записывать определённые значения в определённые строки\столбцы в текстовый файл - я хз

Share this post


Link to post

Short link
Share on other sites
Я имел ввиду пример поиска установленной сборки в реестре.. А как записывать определённые значения в определённые строки\столбцы в текстовый файл - я хз

 

Поддержка реестра и поддержка INI-файлов в Delphi встроена в стандартный комплект модулей. Ищите, ваша софта (Inno Setup) тоже должна это всё поддерживать. 

PS: Зачем столбцы-то? Откуда вообще в текстовом файле у вас столбцы???

Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites
поддержка INI-файлов в Delphi встроена в стандартный комплект модулей. Ищите, ваша софта (Inno Setup) тоже должна это всё поддерживать.

Поддерживает. Но только таким образом. Именно то, что нужно @ventura69, стандартными способами не сделать.

Тут нужно подождать @AtotIK`а, он может подсказать.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Поддерживает. Но только таким образом. Именно то, что нужно @ventura69 стандартными способами не сделать.

 

А Паскалевского инструмента чтения/записи текстовых файлов AssignFile и TextFile там нету похоже?

Share this post


Link to post

Short link
Share on other sites

А Паскалевского инструмента чтения/записи текстовых файлов AssignFile и TextFile там нету похоже?

 Есть всё Паскалевское. Но делать-то я не всё умею.. записать что-то в файл - не проблема, но когда идёт речь о записи в определённые столбцы\строки - то я пока не в курсе, как это сделать.

 

есть готовый файл (текстовый) в который в определенное место (строка и столбец) надо вписать определенный текст (цифирь).

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...