Jump to content
Korean Random
EvilAlex

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

Recommended Posts

Где тут смайлик с рогами?

могу предоставить скрины и скрипт

Ребята а не подскажите как сделать так как на скрине

 

thhj67cl.jpg

ссылку клик и музыку

Share this post


Link to post

Short link
Share on other sites

могу предоставить скрины и скрипт

Ребята а не подскажите как сделать так как на скрине

 

thhj67cl.jpg

ссылку клик и музыку

ссылка

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Files]
;{ ISFormDesignerFilesBegin } // Не удалять эту строку!
;// Не изменять эту секцию. Она создана автоматически.
DestName: "WizardForm.BitmapImage1.bmp"; Source: "compiler:WizModernImage-IS.bmp"; Flags: dontcopy solidbreak
;// Не изменять эту секцию. Она создана автоматически.
;{ ISFormDesignerFilesEnd } // Не удалять эту строку!

[ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D0030100302000054504630F10B5457697A617264466F726D0A57697A617264466F726D0C436C69656E744865696768740368010B436C69656E74576964746803F1010C4578706C696369744C65667402000B4578706C69636974546F7002000D4578706C6963697457696474680301020E4578706C69636974486569676874038F010D506978656C73506572496E636802600A54657874486569676874020D00F202010C544269746D6170496D6167650C4269746D6170496D61676531044C656674020803546F70034701055769647468023106486569676874021706437572736F72070B637248616E64506F696E740A4269746D617046696C65061E636F6D70696C65723A57697A4D6F6465726E496D6167652D49532E626D70074F6E436C69636B070A78766D4F6E436C69636B0000F10C544E65774E6F7465626F6F6B0D4F757465724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D65506167650D4578706C69636974576964746803F1010E4578706C696369744865696768740339010000000A544E6577427574746F6E0A4E6577427574746F6E31044C656674024803546F70034701055769647468024B06486569676874021906437572736F72070B637248616E64506F696E740743617074696F6E060358564D085461624F726465720205074F6E436C69636B070A78766D4F6E436C69636B000000

[code]
{ RedesignWizardFormBegin } // Не удалять эту строку!
// Не изменять эту секцию. Она создана автоматически.
var
  BitmapImage1: TBitmapImage;
  NewButton1: TNewButton;

procedure xvmOnClick(Sender: TObject); forward;

procedure RedesignWizardForm;
begin
  { BitmapImage1 }
  BitmapImage1 := TBitmapImage.Create(WizardForm);
  with BitmapImage1 do
  begin
    Name := 'BitmapImage1';
    Parent := WizardForm;
    Left := ScaleX(8);
    Top := ScaleY(327);
    Width := ScaleX(49);
    Height := ScaleY(23);
    Cursor := crHand;
    ExtractTemporaryFile('WizardForm.BitmapImage1.bmp');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage1.bmp'));
    OnClick := @xvmOnClick;
  end;

  { NewButton1 }
  NewButton1 := TNewButton.Create(WizardForm);
  with NewButton1 do
  begin
    Name := 'NewButton1';
    Parent := WizardForm;
    Left := ScaleX(72);
    Top := ScaleY(327);
    Width := ScaleX(75);
    Height := ScaleY(25);
    Cursor := crHand;
    Caption := 'XVM';
    OnClick := @xvmOnClick;
  end;

  NewButton1.TabOrder := 5;

{ ReservationBegin }
  // Вы можете добавить ваш код здесь.

{ ReservationEnd }
end;
// Не изменять эту секцию. Она создана автоматически.
{ RedesignWizardFormEnd } // Не удалять эту строку!

procedure InitializeWizard();
begin
  RedesignWizardForm;
end;

procedure xvmOnClick(Sender: TObject);
var
  ErrorCode: Integer;
begin
  ShellExec('open', 'http://www.modxvm.com/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end; 

музыка

BASS Модуль - 1.3.rar

Share this post


Link to post

Short link
Share on other sites

ссылка

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Files]
;{ ISFormDesignerFilesBegin } // Не удалять эту строку!
;// Не изменять эту секцию. Она создана автоматически.
DestName: "WizardForm.BitmapImage1.bmp"; Source: "compiler:WizModernImage-IS.bmp"; Flags: dontcopy solidbreak
;// Не изменять эту секцию. Она создана автоматически.
;{ ISFormDesignerFilesEnd } // Не удалять эту строку!

[ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D0030100302000054504630F10B5457697A617264466F726D0A57697A617264466F726D0C436C69656E744865696768740368010B436C69656E74576964746803F1010C4578706C696369744C65667402000B4578706C69636974546F7002000D4578706C6963697457696474680301020E4578706C69636974486569676874038F010D506978656C73506572496E636802600A54657874486569676874020D00F202010C544269746D6170496D6167650C4269746D6170496D61676531044C656674020803546F70034701055769647468023106486569676874021706437572736F72070B637248616E64506F696E740A4269746D617046696C65061E636F6D70696C65723A57697A4D6F6465726E496D6167652D49532E626D70074F6E436C69636B070A78766D4F6E436C69636B0000F10C544E65774E6F7465626F6F6B0D4F757465724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D65506167650D4578706C69636974576964746803F1010E4578706C696369744865696768740339010000000A544E6577427574746F6E0A4E6577427574746F6E31044C656674024803546F70034701055769647468024B06486569676874021906437572736F72070B637248616E64506F696E740743617074696F6E060358564D085461624F726465720205074F6E436C69636B070A78766D4F6E436C69636B000000

[code]
{ RedesignWizardFormBegin } // Не удалять эту строку!
// Не изменять эту секцию. Она создана автоматически.
var
  BitmapImage1: TBitmapImage;
  NewButton1: TNewButton;

procedure xvmOnClick(Sender: TObject); forward;

procedure RedesignWizardForm;
begin
  { BitmapImage1 }
  BitmapImage1 := TBitmapImage.Create(WizardForm);
  with BitmapImage1 do
  begin
    Name := 'BitmapImage1';
    Parent := WizardForm;
    Left := ScaleX(8);
    Top := ScaleY(327);
    Width := ScaleX(49);
    Height := ScaleY(23);
    Cursor := crHand;
    ExtractTemporaryFile('WizardForm.BitmapImage1.bmp');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage1.bmp'));
    OnClick := @xvmOnClick;
  end;

  { NewButton1 }
  NewButton1 := TNewButton.Create(WizardForm);
  with NewButton1 do
  begin
    Name := 'NewButton1';
    Parent := WizardForm;
    Left := ScaleX(72);
    Top := ScaleY(327);
    Width := ScaleX(75);
    Height := ScaleY(25);
    Cursor := crHand;
    Caption := 'XVM';
    OnClick := @xvmOnClick;
  end;

  NewButton1.TabOrder := 5;

{ ReservationBegin }
  // Вы можете добавить ваш код здесь.

{ ReservationEnd }
end;
// Не изменять эту секцию. Она создана автоматически.
{ RedesignWizardFormEnd } // Не удалять эту строку!

procedure InitializeWizard();
begin
  RedesignWizardForm;
end;

procedure xvmOnClick(Sender: TObject);
var
  ErrorCode: Integer;
begin
  ShellExec('open', 'http://www.modxvm.com/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end; 

музыка

attachicon.gifBASS Модуль - 1.3.rar

Попробую спасибо

не получается а что куда вставлять

 

Попробую спасибо

Не получается а что куда надо вставить

Попробую спасибо

не получается а что куда вставлять

 

Не получается а что куда надо вставить

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

Share this post


Link to post

Short link
Share on other sites

 

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

я показал пример, дальше сами

или скиньте свой код в архиве

Share this post


Link to post

Short link
Share on other sites

я показал пример, дальше сами

или скиньте свой код в архиве

Вличку кинул

Может проще купить скрипт? а есть кто продает , за спрос ведь не бьют :)

Share this post


Link to post

Short link
Share on other sites

Подскажите где расширить эту часть окна? Скролл уже почти не видно

Народ подскажите. Актуально

Share this post


Link to post

Short link
Share on other sites

@licimer, либо расширять всё окно, либо суживать компонент-лист. Либо всё сделать по новой, без всяких форм Notebook`ов, на чистом визарде.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

@licimer, либо расширять всё окно, либо суживать компонент-лист. Либо всё сделать по новой, без всяких форм Notebook`ов, на чистом визарде.

Мысль понял... Спасибо!

Share this post


Link to post

Short link
Share on other sites

Почему не ищет архив в таком виде для распаковки?

Exec(ExpandConstant('{app}\{#AppName}\download\7za.exe'), 'x -y ...\res\packages\gui.pkg -o...\res_mods', '', SW_Show, ewWaitUntilTerminated, ResultCode);

а в таком норм 

Exec(ExpandConstant('{app}\{#AppName}\7za.exe'), 'x -y ..\res\packages\gui.pkg -o..\res_mods', '', SW_Show, ewWaitUntilTerminated, ResultCode);

Share this post


Link to post

Short link
Share on other sites

, а так?

Exec(ExpandConstant('{app}\{#AppName}\download\7za.exe'), 'x -y ..\..\res\packages\gui.pkg -o..\..\res_mods', '', SW_Show, ewWaitUntilTerminated, ResultCode);
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
Exec(ExpandConstant('{app}\{#AppName}\download\7za.exe'), 'x -y ..\..\res\packages\gui.pkg -o..\..\res_mods', '', SW_Show, ewWaitUntilTerminated, ResultCode);

спасиб, ок

а почему в таком виде нужно было делать?

Share this post


Link to post

Short link
Share on other sites

 

 

а почему в таком виде нужно было делать?
Потому что "..\" - означает перейти на директорию ниже. И так как ты распаковщик поднял на одну выше, нужно и один переход добавить.. А ты просто две точки заменил тремя)

Share this post


Link to post

Short link
Share on other sites

Потому что "..\" - означает перейти на директорию ниже. И так как ты распаковщик поднял на одну выше, нужно и один переход добавить.. А ты просто две точки заменил тремя)

теперь понял 

Share this post


Link to post

Short link
Share on other sites

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

Share this post


Link to post

Short link
Share on other sites

Всем привет! Подскажите пожалуйста как сделать чтобы unist падал в отдельную папку в корне игры? И второй вопрос, как сделать чтобы лог установки сохранялся там же? Заранее спасибо!

Share this post


Link to post

Short link
Share on other sites

Всем привет! Подскажите пожалуйста как сделать чтобы unist падал в отдельную папку в корне игры? И второй вопрос, как сделать чтобы лог установки сохранялся там же? Заранее спасибо!

[Setup]
UninstallFilesDir={app}\.....
#define LogMods              "Лог установки.log"
[Code]
function CreateLogMods: Boolean;
var
  I: Integer;
  FileName, DateTime: String;
begin
  Result:=True;
  DateTime:=GetDateTimeString('dd/mm/yyyy  hh:nn', '-', '-');
  FileName:=ExpandConstant('{app}\....}\{#LogMods}');
//----------------------------------------------------------------------------------------------\\
  SaveStringToFile(FileName, '"..............."' + #13#10 + #13#10 +  'Дата установки: ' + DateTime + #13#10 + #13#10 + 'Путь установки: ' +  WizardForm.DirEdit.Text +  #13#10 + #13#10 + 'Выбранные вами моды:' + #13#10 + 'Прицелы:' + #13#10, True);
    For I:=0 to WizardForm.ComponentsList.Items.Count - 1 do
         If WizardForm.ComponentsList.Checked[I] then
    begin
         SaveStringToFile(FileName, '... ' + WizardForm.ComponentsList.ItemCaption[I] + #13#10, True);
      end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
   If CurStep=ssInstall then
begin
  CreateDir(ExpandConstant('{app}\....'));
  DeleteFile(ExpandConstant('{app}\...\{#LogMods}'));
  CreateLogMods;
end;
end;
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
[Setup]
UninstallFilesDir={app}\.....
#define LogMods              "Лог установки.log"
[Code]
function CreateLogMods: Boolean;
var
  I: Integer;
  FileName, DateTime: String;
begin
  Result:=True;
  DateTime:=GetDateTimeString('dd/mm/yyyy  hh:nn', '-', '-');
  FileName:=ExpandConstant('{app}\....}\{#LogMods}');
//----------------------------------------------------------------------------------------------\\
  SaveStringToFile(FileName, '"..............."' + #13#10 + #13#10 +  'Дата установки: ' + DateTime + #13#10 + #13#10 + 'Путь установки: ' +  WizardForm.DirEdit.Text +  #13#10 + #13#10 + 'Выбранные вами моды:' + #13#10 + 'Прицелы:' + #13#10, True);
    For I:=0 to WizardForm.ComponentsList.Items.Count - 1 do
         If WizardForm.ComponentsList.Checked[I] then
    begin
         SaveStringToFile(FileName, '... ' + WizardForm.ComponentsList.ItemCaption[I] + #13#10, True);
      end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
   If CurStep=ssInstall then
begin
  CreateDir(ExpandConstant('{app}\....'));
  DeleteFile(ExpandConstant('{app}\...\{#LogMods}'));
  CreateLogMods;
end;
end;

Спасибо... Вопрос

Можно небольшие пояснения по этой строчке:

 

UninstallFilesDir={app}\.....

 

И по этой:

 

SaveStringToFile(FileName, '"..............."' + #13#10 + #13#10 +  'Дата установки: ' + DateTime + #13#10 + #13#10 + 'Путь установки: ' +  WizardForm.DirEdit.Text +  #13#10 + #13#10 + 'Выбранные вами моды:' + #13#10 + 'Прицелы:' + #13#10, True);

 

Заранее спасибо!

Share this post


Link to post

Short link
Share on other sites
Можно небольшие пояснения по этой строчке:

 

UninstallFilesDir={app}\.....

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

 

И по этой:

SaveStringToFile(FileName, '"..............."' + #13#10 + #13#10 + 'Дата установки: ' + DateTime + #13#10 + #13#10 + 'Путь установки: ' + WizardForm.DirEdit.Text + #13#10 + #13#10 + 'Выбранные вами моды:' + #13#10 + 'Прицелы:' + #13#10, True);

Эту строку можете спокойно удалять. Лог выбранных модов создаётся этим:

for I := 0 to WizardForm.ComponentsList.Items.Count - 1 do
 if WizardForm.ComponentsList.Checked[i] then
  SaveStringToFile(FileName, WizardForm.ComponentsList.ItemCaption[I] + #13#10, True);
Edited by Kotyarko_O
  • Upvote 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...