Jump to content
Korean Random
EvilAlex

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

Recommended Posts

I've pretty much figured things out, save the last two issues I mention.

However, reading through this thread 3 TIMES, seems it's not an issue, and people are fine with it.

 

On that note.....  My issue now is I'm trying to figure out how to get a properly working Image and Text Display when you hover over the mods in the mod list.

I see a few people have gotten it working, but none have "shared" the final results.  And all the info is peacemeal that I can't put together, and especially when the pieces are missing people to get the stuff to work.

 

I wish someone would upload an "updated" version of the original OP's post, that included

 

- "Image/Text" display,

- Delete/Backup res_mods folder, &

- Restore clean res_mods folder upon Uninstall.

 

These are the most important things if I'm remembering that need to be added, that nearly this entire thread is discussing, and wouldn't be over and over if those things were added, OR we had a good working step by step example.

 

I can "edit"....  but I don't mix and match coding etc.  I have no idea how they go together, and I'm too OLD to learn.  :)

I need examples, and instructions.  I've just spent the last 12 hours going over this thread, trying the different things, but like I said, most of it's incomplete.  There is no "working" examples.

Looks like there is for the Delete/Backup, but I'm trying to get the image/text stuff to work first.

 

If any kind soul is willing to donate their good working version, it would greatly appreciated and needed.

I can then edit it per my design and needs, no problem.  After all..... 88 pages now of mostly the same few issues people wanting and getting added to the installer, why hasn't anyone posted a more improved version for the community?  I mean, MANY people have that now.  People share "improved" mods all the time, making better what was original, this installer is no different.

 

So, you guys out there reading this who have improved installers, please share.

Thanks much guys.

Edited by leeuniverse

Share this post


Link to post

Short link
Share on other sites

Помогите прикрутить ограничение на дату_время установки. Т.е. после наступления часа пик невозможно было его установит. типа триала. Внутри архива несколько вариантов скрипта для прикручивания. У меня при установке менувшей даты пишет, что невозможно уже, но при установке будущей даты проходит проверку и открывает следующую страницу, и дальше не идет.кнопки перестают действовdata

Прикрепляю вариант не тронутый и вариант редактированый с будущей датой и зависающий на странице

XXX.rar

XXX_data.rar

Edited by XXX_MUTANT

Share this post


Link to post

Short link
Share on other sites
Помогите прикрутить ограничение на дату_время установки. Т.е. после наступления часа пик невозможно было его установит. типа триала. Внутри архива несколько вариантов скрипта для прикручивания. У меня при установке менувшей даты пишет, что невозможно уже, но при установке будущей даты проходит проверку и открывает следующую страницу, и дальше не идет.кнопки перестают действовdata

Прикрепляю вариант не тронутый и вариант редактированый с будущей датой и зависающий на странице

Можно сделать всё более рационально..

'В своём скрипте сделай так:'

#define DateToEnd "2015.08.08"

[*code]
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
case CurPageID of
wpSelectDir:
if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then
begin
MsgBox('Не верно указана папка World of Tanks!', mbError, MB_OK);
Result := False;
end;
end;
 #ifdef DateToEnd
 begin
  Result := CompareStr(GetDateTimeString('yyyy.mm.dd', '.', #0), '{#DateToEnd}') <= 0;
  If not Result then
  begin
   MsgBox('Install time limit, it is not possible to install this program.', mbError, MB_OK);
  end
  else
  begin
   Result := True;
  end;
 end;
 #endif
end;

При этом, если закомментировать строку #define DateToEnd "Год.Месяц.День", то проверка просто не будет выполнятся, и часть кода между #ifdef - #endif не будет компилиться.

 

I see a few people have gotten it working, but none have "shared" the final results.

No one has a desire to share their code.

 

I wish someone would upload an "updated" version of the original OP's post, that included

maybe i`ll do this soon, or someone else.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

 

 

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

 

Стоит моды на белые сбитые  гусли или белые трупы уничтоженных танков?


Я думаю что да!Потому при установки арт прицела ,аркадный становится не по центру

Поменяй в sights.xml параметры с false на true. Только читай внимательно. Лично с таким сталкивался и путем пошагового изменения параметров с фалс на тру в этом файле исправил многие прицелы в своем модпаке. Иногда нужно менять только один параметр, иногда все

Share this post


Link to post

Short link
Share on other sites

Можно сделать всё более рационально..

'В своём скрипте сделай так:'





#define DateToEnd "2015.08.08"

[*code]
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
case CurPageID of
wpSelectDir:
if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then
begin
MsgBox('Не верно указана папка World of Tanks!', mbError, MB_OK);
Result := False;
end;
end;
 #ifdef DateToEnd
 begin
  Result := CompareStr(GetDateTimeString('yyyy.mm.dd', '.', #0), '{#DateToEnd}') <= 0;
  If not Result then
  begin
   MsgBox('Install time limit, it is not possible to install this program.', mbError, MB_OK);
  end
  else
  begin
   Result := True;
  end;
 end;
 #endif
end;

При этом, если закомментировать строку #define DateToEnd "Год.Месяц.День", то проверка просто не будет выполнятся, и часть кода между #ifdef - #endif не будет компилиться.

Спасибо, помогло! А время нельзя прописать с таким вариантом? Я попробовал 2014.10.5.15.00 - не сработало. А еще какие варианты защиты бывают? Самоудаление может при запуске в просроченное время?))

Edited by XXX_MUTANT

Share this post


Link to post

Short link
Share on other sites
А время нельзя прописать с таким вариантом? Я попробовал 2014.10.5.15.00 - не сработало.

Вот так сработает:

#define DateToEnd "2015.08.08 15:25:59"

[*Code]
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
case CurPageID of
wpSelectDir:
if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then
begin
MsgBox('Не верно указана папка World of Tanks!', mbError, MB_OK);
Result := False;
end;
end;
 #ifdef DateToEnd
 begin
  Result := CompareStr(GetDateTimeString('yyyy.mm.dd hh:nn:ss', '.', ':'), '{#DateToEnd}') <= 0;
  If not Result then
  begin
   MsgBox('Install time limit, it is not possible to install this program.', mbError, MB_OK);
  end
  else
  begin
   Result := True;
  end;
 end;
 #endif
end;
А еще какие варианты защиты бывают?

хз, не думал. Можно принудительную проверку версии на сервере. Но такой код выкладывать не буду.

 

Самоудаление может при запуске в просроченное время?))

Можно и так.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

 

 

Помогите прикрутить ограничение на дату_время установки. Т.е. после наступления часа пик невозможно было его установит. типа триала.

Что может помешать пользователю поменять дату на компьютере?

Как вариант получать время с сервера. API куча.

 

 

Самоудаление может при запуске в просроченное время?))

Скачиваем инсталятор снова => Меняем время на ПК => Запускаем установщик

 

 

А еще какие варианты защиты бывают?

Для начала - не пишите на Inno Setup. Какой смысл в защите, если программу можно декомпилировать тысячей способов?

Share this post


Link to post

Short link
Share on other sites
Какой смысл в защите, если программу можно декомпилировать тысячей способов?

В данный момент идёт речь не о защите исходного кода, а о защите установки, спустя некоторое указанное время.

 Секция кода не декомпилируется, разве что, дизассемлбером.. ну вы-то знаете, что он делает с кодом :)

 

Как вариант получать время с сервера.

Далеко не каждый сможет задействовать сеть.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Ребята как сделать чтобы активация XVM оставалась. То есть нужно в начале установки скопировать или вырезать папку db  и в конце установки модпака его закинуть куда полагается. Для перемещения можно использовать код из бекапа. А как обратно сделать? Дайте правильное направление, какой-нибудь пример

Share this post


Link to post

Short link
Share on other sites

 

 

А как обратно сделать? Дайте правильное направление
Для бекапа используй CurStep = ssInstall, а для восстановления: CurStep = ssPostInstall

Share this post


Link to post

Short link
Share on other sites

Для бекапа используй CurStep = ssInstall, а для восстановления: CurStep = ssPostInstall

Спасибо.

Share this post


Link to post

Short link
Share on other sites

Можно сделать всё более рационально..

'В своём скрипте сделай так:'





#define DateToEnd "2015.08.08"

[*code]
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
case CurPageID of
wpSelectDir:
if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then
begin
MsgBox('Не верно указана папка World of Tanks!', mbError, MB_OK);
Result := False;
end;
end;
 #ifdef DateToEnd
 begin
  Result := CompareStr(GetDateTimeString('yyyy.mm.dd', '.', #0), '{#DateToEnd}') <= 0;
  If not Result then
  begin
   MsgBox('Install time limit, it is not possible to install this program.', mbError, MB_OK);
  end
  else
  begin
   Result := True;
  end;
 end;
 #endif
end;

При этом, если закомментировать строку #define DateToEnd "Год.Месяц.День", то проверка просто не будет выполнятся, и часть кода между #ifdef - #endif не будет компилиться.

 

No one has a desire to share their code.

 

maybe i`ll do this soon, or someone else.

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

Edited by XXX_MUTANT

Share this post


Link to post

Short link
Share on other sites

Как исправить? Если убрать проверку даты, то не игнорится, но нужны оба варианта.

Совместить их, ваш КЭП.

Share this post


Link to post

Short link
Share on other sites

maxXXX, можно и можно.

 

1.

WizardForm.Color:=$000000;

2. Ищи скрипты, можно от репаков.

Share this post


Link to post

Short link
Share on other sites

Совместить их, ваш КЭП.

Что и пытаюсь сделать, но не выходит ничего пока... Проверку даты вверх перенес, так оно раз дату покажет и на шаг вперед по страницам идет...

Share this post


Link to post

Short link
Share on other sites

maxXXX, можно и можно.

 

1.

WizardForm.Color:=$000000;

2. Ищи скрипты, можно от репаков.

нашёл только такое 

WizardImageBackColor=$0000CC99

Share this post


Link to post

Short link
Share on other sites

maxXXX, толку от этого параметра? Спросили про изменение цвета фона - я ответил. Если не знаете куда его вставлять - ваши проблемы.

  • Downvote 1

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