Jump to content
Korean Random
EvilAlex

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

Recommended Posts

 

 

Спасибо
Не надо цитировать всё, особенно, когда сообщение большое.

Share this post


Link to post

Short link
Share on other sites

 

 

Есть библиотека для создания кастомного прогресс-бара, но я не юзал ее и не знаю, как она будет расчитывать. Я на 90% уверен, что будет так же. Ну сам понимаешь, что абсолютно все файлы (с зависимостью от размера) не могут распаковываться идентично по скорости. По-этому полоса движется относительно общего объема всех выбранных на установку компонентов. Если в конце остается распаковать кучу-кучу мелких файлов (типо твикера), то полоса, понятное дело, замедляется.

 

 

Вообще, чем примитивнее прогресс бар тем лучше, он сам по себе, т.е. анимация его анимация, требует больше времени чем сам процесс копирования мелких файлов, например, если взять 1000 мелких файлов и сделать установку без и с прогрессом, то во втором случае времени на копирование уйдет в несколько раз больше, бывает что и в десятки раз.   Это широко известный факт из области ООП. Поэтому чем меньше меньше шагов у прогрессбара тем лучше.

Спасибо!А вообще у всех такая же хрень? 


Можно как нибудь увеличить растояние между строками в окне компонентов?

Share this post


Link to post

Short link
Share on other sites
А вообще у всех такая же хрень?

Да.

 

Можно как нибудь увеличить растояние между строками в окне компонентов?

Между самими компонентами?

Если да, то можешь попробовать этот параметр:

procedure InitializeWizard();
begin
 WizardForm.ComponentsList.MinItemHeight := 50;
end;

Вот только я его не юзал, и не знаю, сработают-ли.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Ребята кто подскажет как добавить скачку "шкурок" с интернета  чтоб их не добавлять в Модпак  а то они весят от 250м ?

Share this post


Link to post

Short link
Share on other sites

Ребята кто подскажет как добавить скачку "шкурок" с интернета  чтоб их не добавлять в Модпак  а то они весят от 250м ?

на первой стр скачай дополнительные скрипты и посмотри InnoTools Downloader 0.3.5

Share this post


Link to post

Short link
Share on other sites

на первой стр скачай дополнительные скрипты и посмотри InnoTools Downloader 0.3.5

[Code]
procedure InitializeWizard();
begin
 itd_init;

 //Откуда будет качать?..
 itd_addfile('http://www.sherlocksoftware.org/petz/files/dogz5.zip',expandconstant('{tmp}\dogz5.zip'));
 itd_addfile('http://www.sherlocksoftware.org/petz/files/petz4.zip',expandconstant('{tmp}\petz4.zip'));

 //Начнет качать после прочтения  wpReady? 
 itd_downloadafter(wpReady);
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
 if CurStep=ssInstall then begin //Начнет устанавливать в папку?
  filecopy(expandconstant('{tmp}\dogz5.zip'),expandconstant('{app}\dogz5.zip'),false);
  filecopy(expandconstant('{tmp}\petz4.zip'),expandconstant('{app}\petz4.zip'),false);
 end;
end;

Я правильно понял и распакует ли он архив?

Share this post


Link to post

Short link
Share on other sites
[Code]
procedure InitializeWizard();
begin
 itd_init;

 //Откуда будет качать?..
 itd_addfile('http://www.sherlocksoftware.org/petz/files/dogz5.zip',expandconstant('{tmp}\dogz5.zip'));
 itd_addfile('http://www.sherlocksoftware.org/petz/files/petz4.zip',expandconstant('{tmp}\petz4.zip'));

 //Начнет качать после прочтения  wpReady? 
 itd_downloadafter(wpReady);
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
 if CurStep=ssInstall then begin //Начнет устанавливать в папку?
  filecopy(expandconstant('{tmp}\dogz5.zip'),expandconstant('{app}\dogz5.zip'),false);
  filecopy(expandconstant('{tmp}\petz4.zip'),expandconstant('{app}\petz4.zip'),false);
 end;
end;

Я правильно понял и распакует ли он архив?

 

типо да

Share this post


Link to post

Short link
Share on other sites
 //Начнет качать после прочтения wpReady? 
 itd_downloadafter(wpReady);
end;

Это можно заменить на загрузку после выбора модов и как если не секрет?

Edited by ZLoy

Share this post


Link to post

Short link
Share on other sites

Это можно заменить на загрузку после выбора модов и как если не секрет?

сам спрашивал не сказали 

Share this post


Link to post

Short link
Share on other sites
Я правильно понял и распакует ли он архив?

Да, это скрипт скачивания (самый примитивный). Не распакует.

 

Это можно заменить на загрузку после выбора модов и как если не секрет?

За момент скачивания отвечает вот это:

procedure CurStepChanged(CurStep: TSetupStep);
begin
 if CurStep=ssInstall then begin
  filecopy(expandconstant('{tmp}\dogz5.zip'),expandconstant('{app}\dogz5.zip'),false);
  filecopy(expandconstant('{tmp}\petz4.zip'),expandconstant('{app}\petz4.zip'),false);
 end;
end;

А это:

 itd_downloadafter(wpReady);

только инициализация. И как видишь, тут нет никакой привязки к чему-то. Он это скачает при любом раскладе (если есть подключение к инету).

 

сам спрашивал не сказали 

 Всё - не скажем. Но что-то.. - это уже другое дело :)

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Ребят, я поставил всем компонентам флаг disablenouninstallwarning, что бы не выскакивало окошко о том, что какие то моды уже стоят, но теперь не запоминает последние выбранные моды.

Это можно как то исправить? :)

 

 

И еще, как запоминать папку?

Edited by woole

Share this post


Link to post

Short link
Share on other sites

 

 

Ребят, я поставил всем компонентам флаг disablenouninstallwarning, что бы не выскакивало окошко о том, что какие то моды уже стоят, но теперь не запоминает последние выбранные моды.
Должно запоминать. Этот флаг на это не влияет. Ищи косяк в другом.

 

 

 

И еще, как запоминать папку?
?

Share this post


Link to post

Short link
Share on other sites

 

И еще, как запоминать папку?

?

 

Папку с танками, к примеру D/Games/World Of Tanks

Share this post


Link to post

Short link
Share on other sites

А что ты ожидал от Котярки? Манны с неба? :gg:

По-твоему, нужно делиться всем, что есть? - Это не совсем правильно.

Может, ещё исходники все свои сбросить?

 

Папку с танками, к примеру D/Games/World Of Tanks

Запоминать или автоматом находить?

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

По-твоему, нужно делиться всем, что есть? - Это не совсем правильно.

Может, ещё исходники все свои сбросить?

 

Запоминать или автоматом находить?

Автоматом находит, но не всегда верно. Думаю, не критично. Но можно ли как то запоминать выбор? То есть, к примеру у меня игра лежит в D:/Games/World Of Tanks/,  а он автоматом выбирает F:/WoT/

Тогда надо будет каждый раз заново выбирать нужную папку, можно ли запомнить выбор?

Share this post


Link to post

Short link
Share on other sites
можно ли запомнить выбор?

Выбор запоминается сам, если программа уже была установлена. И будет "помниться" до тех пор, пока программу не удалить деинсталлятором.

 

Автоматом находит, но не всегда верно. Думаю, не критично. Но можно ли как то запоминать выбор? То есть, к примеру у меня игра лежит в D:/Games/World Of Tanks/, а он автоматом выбирает F:/WoT/

Выбирает F:/WoT/, потому что у тебя прописан этот путь на случай, если по реестру директория танков не найдена. А вообще, "не всегда верно" - на это есть 2 причины:

 1) Ты переставлял систему, из-за чего реестр обновился и ветка игры исчезла.

 2) Ты перемещал папку с игрой.

Выход: сносить и заново ставить клиент.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Выбор запоминается сам, если программа уже была установлена. И будет "помниться" до тех пор, пока программу не удалить деинсталлятором.

 

Выбирает F:/WoT/, потому что у тебя прописан этот путь на случай, если по реестру директория танков не найдена. А вообще, "не всегда верно" - на это есть 2 причины:

 1) Ты переставлял систему, из-за чего реестр обновился и ветка игры исчезла.

 2) Ты перемещал папку с игрой.

Выход: сносить и заново ставить клиент.

Хорошо, спасибо :)

Share this post


Link to post

Short link
Share on other sites

@Kotyarko_O, Уважаемый есть смысл   просить у Вас поделится простейшим с распаковкай  для собственных нужд ?

Share this post


Link to post

Short link
Share on other sites

По-твоему, нужно делиться всем, что есть? - Это не совсем правильно.

Может, ещё исходники все свои сбросить?

 

Запоминать или автоматом находить?

Твои исходники никому не нужны, всего то пара функций из этой темы и ещё несколько, которые могли бы людям пригодится... Большинство сюда приходит за помощью, чтобы научиться чему- то новому, а если тебе жалко обьяснить человеку одну функцию, то ты или сам не знаешь, как это осуществить, или слишком жадный, если первый вариант, я ничего не скажу, это у всех бывает, ну а если второй, то что ты тогда в этой теме делаешь? Неужели ты так боишься конкуренции? У тебя же, как и у остальных, не коммерческий проэкт вроде?

Ты пойми, я не от обид старых наезжаю или что-то того, я просто стараюсь обьяснить, что зачем знания, если ими не делиться? Какой толк от книги, которую никто не может прочитать?

Edited by Darksoul
  • Upvote 3
  • Downvote 2

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...