Jump to content
Korean Random
EvilAlex

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

Recommended Posts

1 минуту назад, D_MAN_1987 сказал:

@ktulho я думаю здесь описаны все имеющиеся в библиотеке процедуры.

В общем спасибо всем, кто тратил время и нервы) Поставил юникод версию и заработало)

 

код который у тебя заработал скинь полностью))

  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

Ловлю ошибку Out of Range в скрипте, помогите поправить кто либо.

Плюс не находит и не распаковывает файлы модов из вложенных файлов, только если вложенность типа "папка\файл".

 

 

Edited by Darksoul
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

@Darksoul , ошибка ссылается на функцию:

 

02_CheckListBox.iss

function clbIsItemCheckedByName(clbind:integer; Name:AnsiString):boolean;
var
  ii:integer;
begin
  ii:=clbFindItemByName(clbind,Name);
  Result:=CheckBoxGetChecked(ACLB[clbind].ItemList[ii].Handle);
end;

Виновник - 09_Log.iss

procedure CreateLogModsChanged;

Share this post


Link to post

Short link
Share on other sites

Исправил, изменив функцию, на

function clbIsItemCheckedByName(clbind:integer; Name:AnsiString):boolean;
var
  ii:integer;
begin
  ii:=clbFindItemByName(clbind,Name);
  if ii <> -1 then Result:=CheckBoxGetChecked(ACLB[clbind].ItemList[ii].Handle) else Result:=False;
end;

Плюс я немного тупанул был, не закомментил лишнее.

Edited by Darksoul
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

Hello, Sorry for using English, but I have a question

 

I used the given source code to build setup, but it has an error:

The browsed location of World of Tanks game folder automatically add another text "World_of_Tanks" to the end of the address, leads to the wrong output folder after installation.

I used 3 ISS files to build this setup, attached below. Could anyone show me how to fix this?

 

Components.iss

Messages.iss

script.iss

1.PNG

2.PNG

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
37 minutes ago, NyanDora_Mech_Tank said:

The browsed location of World of Tanks game folder automatically add another text "World_of_Tanks" to the end of the address, leads to the wrong output folder after installation.

Add a new parameter to the Setup section:

AppendDefaultDirName=no

 

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Очистка сообщения ...

Edited by night_dragon_on
Очистка вложений ...
  • Upvote 3

Share this post


Link to post

Short link
Share on other sites

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

 

P/S... вопрос решен. спасибо  Xotabych !!!

 

Edited by ЛОМ
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

Подскажите может кто знает)) как сделать так чтоб определенная папка с модами ставилась по умолчанию по любому, но... если только выбрали хоть один мод из сборки!

 

P.S. все вопрос решен, спасибо ЛОМ за помощь!

Edited by Draug
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

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

тоесть чтоб как бы прилипла с правого края главного окошка установщика?

сейчас стоит так:

Цитата

#ifdef UNICODE
  #define A "W"
#else
  #define A "A"
#endif

const
  UNDEF_INDEX = -777;
  ALPHA_BLEND_LEVEL = 255; // max=Byte=255
  WS_EX_LAYERED = $80000;
  WS_EX_TRANSPARENT = $20;
  LWA_COLORKEY = 1;
  LWA_ALPHA = 2;
  GWL_EXSTYLE = (-20);

var
  InfoPic: TBitmapImage;
  LastIndex: Integer;
  TempPath: String;
  PicForm: TForm;

type
  COLORREF = DWORD;

function GetCursorPos(var lpPoint: TPoint): BOOL; external '[email protected] stdcall';
function SetLayeredWindowAttributes(Hwnd: THandle; crKey: COLORREF; bAlpha: Byte; dwFlags: DWORD): Boolean; external '[email protected] 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 '[email protected] 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 + 390), ScaleY(pt.y + 7), InfoPic.Width, InfoPic.Height);
      Show;
    end;
    finally
    SetFocus(WizardForm.Handle);
  end;
end;

 

Share this post


Link to post

Short link
Share on other sites
6 часов назад, Draug сказал:

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

тоесть чтоб как бы прилипла с правого края главного окошка установщика?

сейчас стоит так:

 

Напиши мне числа 22, я тебе дам свой старый код инсталла, там всё уже настроено, если хочешь.

  • Downvote 1

Share this post


Link to post

Short link
Share on other sites
1 час назад, night_dragon_on сказал:

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

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

у кого то видел так в модпаке((

 

20611662.png

Share this post


Link to post

Short link
Share on other sites
20 минут назад, Draug сказал:

а не гуляла по движению мышки по названию мода

 

В этой строке кода:

SetBounds(ScaleX(pt.x + 390), ScaleY(pt.y + 7), InfoPic.Width, InfoPic.Height);

Задай фиксированные координаты, например:

SetBounds(ScaleX(250), ScaleY(50), InfoPic.Width, InfoPic.Height);

Где 250 и 50 координаты по оси X и Y соответственно.

Share this post


Link to post

Short link
Share on other sites
Только что, night_dragon_on сказал:

 

В этой строке кода:


SetBounds(ScaleX(pt.x + 390), ScaleY(pt.y + 7), InfoPic.Width, InfoPic.Height);

Задай фиксированные координаты, например:


SetBounds(ScaleX(250), ScaleY(50), InfoPic.Width, InfoPic.Height);

Где 250 и 50 координаты по оси X и Y соответственно.

 

 

Делал такой вариант уже((( тогда картинка вообще ни как не зависима от установщика главного окна(((

хоть куда установщик двигай а картинка на одном месте... ((

 

20612182.png

Share this post


Link to post

Short link
Share on other sites
2 часа назад, Draug сказал:

хоть куда установщик двигай а картинка на одном месте

SetBounds(ScaleX(WizardForm.Left + 350), ScaleY(WizardForm.Top + 50), InfoPic.Width, InfoPic.Height);

Где 350 и 50 отступ от левого края окна установщика и вернего края установщика.

Edited by night_dragon_on
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

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

Share this post


Link to post

Short link
Share on other sites
10 минут назад, Furious сказал:

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

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

Edited by ЛОМ
  • 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...