Jump to content
Korean Random

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


Recommended Posts

 

 

В общем меня тут начали уже хренами на раковом обкладывать по этому поводу,

За что? За то что помогаеш тем кто пытается расширить свой кругозор и хоть что то сделать своими руками?

Link to comment
Short link
Share on other sites

Когда убираеш общюю галочку с пункта   "17. Звуковой мод"   то никаких копирований звуков не происходит.

Обратите внимание на конец строки:

Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\{#MyAppVer}\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: KMP\OZ;

 

Name: KMP\OZ; Description: 17. Звуковой мод.; Types: viborochnaya; Flags: checkablealone dontinheritcheck

Приму на вооружение!

За что? За то что помогаеш тем кто пытается расширить свой кругозор и хоть что то сделать своими руками?

Вот именно! Я только для личного пользования и понимания работы на уровне ламера!

Я в ахе, давление оказывают....

Edited by SuperXcool
  • Upvote 1
Link to comment
Short link
Share on other sites

Варианты ешё будут с отображение картинки мода...

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

Link to comment
Short link
Share on other sites

Варианты ешё будут с отображение картинки мода...

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

 

я вот тоже этот скрипт прошу,нее кто не дает

все жадины такие 

Link to comment
Short link
Share on other sites

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

 

post-6639-0-75039600-1398715793_thumb.jpg


я вот тоже этот скрипт прошу,нее кто не дает

все жадины такие 

Шас сижу леплю простенький как на 1 варианте который дали, но хотело бы вариант такой как на скрине выше

Edited by liked
Link to comment
Short link
Share on other sites

@aCHIVKA, @liked, вы уже тупо как дети начинаете клянчить.. Вам не кажется, что если автора этих скриптов не делают OpenSource - значит они не горят желанием раздавать свою работу кому-попало..

 Ведь вы даже не можете просто погуглить (открою вам секрет, в инете столько всего можно найти..).

Edited by Kotyarko_O
  • Upvote 1
Link to comment
Short link
Share on other sites

Kotyarko_O, ну вот как раз насчёт aCHIVKA у меня сложилось такое мнение. Клянчание стало напрягать, вот и свернул "аттракцион щедрости". Люди не просто не хотят думать, они хотят что бы их дали всё на блюде с голубой каёмочкой.

Link to comment
Short link
Share on other sites

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

 

attachicon.gif542c0538.jpg

Шас сижу леплю простенький как на 1 варианте который дали, но хотело бы вариант такой как на скрине выше

 

я тоже такой хочу,но тут не кто не хочет просто дать скрипт

скажите мне по какому запросу искать и я найду 

я не знаю как написать в гугле это

мне не нужен весь скрипт,мне нужен именно скрипт этого вида (вывода изображения в блоке)

Link to comment
Short link
Share on other sites

@aCHIVKA, @liked, вы уже тупо как дети начинаете клянчить.. Вам не кажется, что если автора этих скриптов не делают OpenSource - значит они не горят желанием раздавать свою работу кому-попало..

 Ведь вы даже не можете просто погуглить (открою вам секрет, в инете столько всего можно найти..).

Рыл не нашол, именно того что хотел, есть хороший сайтик? подскажи буду только благодарен

Kotyarko_O, ну вот как раз насчёт aCHIVKA у меня сложилось такое мнение. Клянчание стало напрягать, вот и свернул "аттракцион щедрости". Люди не просто не хотят думать, они хотят что бы их дали всё на блюде с голубой каёмочкой.

Не видел не чего дельно именно от вас, только от автора темы

Вот что нашёл, только именно того что мне нужно я не увидел http://innoultra.ru/?page_id=18

Link to comment
Short link
Share on other sites

liked, автор темы тут сам практически ничего не написал. Ну а я в свою очередь "путные вещи" (хотя опять же не понимаю что для вас это) просто не выкладываю. Шибко жирно будет.

Edited by AtotIK
Link to comment
Short link
Share on other sites

liked, автор темы тут сам практически ничего не написал. Ну а я в свою очередь "путные вещи" (хотя опять же не понимаю что для вас это) просто не выкладываю. Шибко жирно будет.

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

Так что без обид если обидел

 

Отлично будет нарыть тот код который я выкинул скрин с верху, в нете нахожу хорошие работы но они 2010-2011г и в фаил обменниках файлов тех уже нет

Edited by liked
Link to comment
Short link
Share on other sites

случаем не это ищите?  :heh:

[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
Compression=none

[Components]
Name: ZK1; Description: Звуковой мод звонок при крите модуля1.; Flags: disablenouninstallwarning exclusive
Name: ZK2; Description: Звуковой мод звонок при крите модуля2.; Flags: disablenouninstallwarning exclusive

[Files]
//------- ваши картинки ------------
Source: image\1.bmp; Flags: dontcopy nocompression
Source: image\2.bmp; Flags: dontcopy nocompression

[code]
const
    UNDEF_INDEX = -777;


function GetCursorPos(var lpPoint: TPoint): BOOL; external '[email protected] stdcall';


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


procedure ShowPicHint(const PicFilePath: String);
var
    pt: TPoint;
begin
    if not GetCursorPos(pt) then Exit;
    InfoPic.Bitmap.LoadFromFile(PicFilePath);
    InfoPic.SetBounds(ScaleX(245), ScaleY(42), ScaleX(166), ScaleY(165));
    InfoPic.Show;
end;


procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);
var
    UndefPic: String;
begin
    if Index = -1 then Exit;
    if Index = LastIndex then Exit;
    try
        case TNewCheckListBox(Sender).ItemCaption[Index] of
            'Звуковой мод звонок при крите модуля1.': UndefPic := '1.bmp';   // пишем точно так же, как прописано в компонентах
            'Звуковой мод звонок при крите модуля2.': UndefPic := '2.bmp';
        else
            begin
                LastIndex := UNDEF_INDEX;
                InfoPic.Hide;
                Exit;
            end;
        end;
        if not FileExists(TempPath + UndefPic) then ExtractTemporaryFile(UndefPic);
        ShowPicHint(TempPath + UndefPic);
    finally
        LastIndex := Index;
    end;
end;


procedure CompOnMouseLeave(Sender: TObject);
begin
    InfoPic.Hide;
    LastIndex := -1;
end;


procedure InitInfo();
begin
    WizardForm.TypesCombo.Hide;
    WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(37), ScaleX(225), ScaleY(176));
    WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove;
    WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave;
    TempPath := AddBackslash(ExpandConstant('{tmp}'));
    LastIndex := UNDEF_INDEX;

    with TBevel.Create(WizardForm) do
    begin
      Parent := WizardForm.SelectComponentsPage;
      SetBounds(ScaleX(240), ScaleY(37), ScaleX(177), ScaleY(176));
      Shape := bsFrame;
    end;

    InfoPic := TBitmapImage.Create(WizardForm)
    with InfoPic do
    begin
        Parent := WizardForm.SelectComponentsPage;
        AutoSize := True;
    end;
end;


procedure InitializeWizard();
begin
    InitInfo();
end; 

  • Upvote 1
Link to comment
Short link
Share on other sites

случаем не это ищите?  :heh:

[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
Compression=none

[Components]
Name: ZK1; Description: Звуковой мод звонок при крите модуля1.; Flags: disablenouninstallwarning exclusive
Name: ZK2; Description: Звуковой мод звонок при крите модуля2.; Flags: disablenouninstallwarning exclusive

[Files]
//------- ваши картинки ------------
Source: image\1.bmp; Flags: dontcopy nocompression
Source: image\2.bmp; Flags: dontcopy nocompression

[code]
const
    UNDEF_INDEX = -777;


function GetCursorPos(var lpPoint: TPoint): BOOL; external '[email protected] stdcall';


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


procedure ShowPicHint(const PicFilePath: String);
var
    pt: TPoint;
begin
    if not GetCursorPos(pt) then Exit;
    InfoPic.Bitmap.LoadFromFile(PicFilePath);
    InfoPic.SetBounds(ScaleX(245), ScaleY(42), ScaleX(166), ScaleY(165));
    InfoPic.Show;
end;


procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);
var
    UndefPic: String;
begin
    if Index = -1 then Exit;
    if Index = LastIndex then Exit;
    try
        case TNewCheckListBox(Sender).ItemCaption[Index] of
            'Звуковой мод звонок при крите модуля1.': UndefPic := '1.bmp';   // пишем точно так же, как прописано в компонентах
            'Звуковой мод звонок при крите модуля2.': UndefPic := '2.bmp';
        else
            begin
                LastIndex := UNDEF_INDEX;
                InfoPic.Hide;
                Exit;
            end;
        end;
        if not FileExists(TempPath + UndefPic) then ExtractTemporaryFile(UndefPic);
        ShowPicHint(TempPath + UndefPic);
    finally
        LastIndex := Index;
    end;
end;


procedure CompOnMouseLeave(Sender: TObject);
begin
    InfoPic.Hide;
    LastIndex := -1;
end;


procedure InitInfo();
begin
    WizardForm.TypesCombo.Hide;
    WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(37), ScaleX(225), ScaleY(176));
    WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove;
    WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave;
    TempPath := AddBackslash(ExpandConstant('{tmp}'));
    LastIndex := UNDEF_INDEX;

    with TBevel.Create(WizardForm) do
    begin
      Parent := WizardForm.SelectComponentsPage;
      SetBounds(ScaleX(240), ScaleY(37), ScaleX(177), ScaleY(176));
      Shape := bsFrame;
    end;

    InfoPic := TBitmapImage.Create(WizardForm)
    with InfoPic do
    begin
        Parent := WizardForm.SelectComponentsPage;
        AutoSize := True;
    end;
end;


procedure InitializeWizard();
begin
    InitInfo();
end; 

Вот вот) именно такое а ешё примеры есть? а за этот огромное спасибо

Кто бы объяснил как менять дизайн кнопок и всего исталятора, не могу разобраться 

 

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

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

Edited by liked
Link to comment
Short link
Share on other sites

Запомните: картинки, свистелки и перделки в инсталляторе далеко не главное. Главное - его функционал, что он может сделать в процессе установки. В плане дизайна нужно придерживаться минимализма и не перегружать интерфейс ненужными вещами.

Для себя давным давно выбрал именно это, дизайн - всё просто, доступно и со вкусом, функционал - начиная от бэкапа, заканчивая редактированием на лету по средствам инсталлятора конфигов XVM и модов, автоматическим сохранением/восстановлением токена доступа к статистике XVM и т.д.

Edited by AtotIK
  • Upvote 1
Link to comment
Short link
Share on other sites

да так работает та всё, но хотелось бы дизайна, и информативности при выборе и установки модов, моя сборка вот - http://forum.worldoftanks.ru/index.php?/topic/1111250-

XVM сборка моя, да и остальные моды переделанные потому что часто баги и лаги (конфликты) с другими модами, а вот инталятор не получается, мне проше сайт сделать чем эти инсталяторы :) по этому сижу учусь (мучаюсь) в 1 очередь добавить картинки вот скрипт скинули работает, только не пойму как визуально отредактировать раположение картинки

Link to comment
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...