Jump to content
Korean Random
EvilAlex

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

Recommended Posts

На флаге external не работает:

[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirName={pf}\MyApp
Compression=none

[Files]
Source: C:\Windows\Fonts\*; DestDir: {app}; BeforeInstall: AddToMemo;

[```Code```]
var
  DetailsButton: TNewButton;
  FilesMemo: TNewMemo;
  Flag: Boolean;

procedure AddToMemo();
var
  AFile: String;
begin
  AFile:=ExpandConstant(CurrentFilename);
  If ExtractFileExt(AFile)='' then
  FilesMemo.Lines.Add('CreateFolder: '+RemoveBackslash(AFile)) else
  FilesMemo.Lines.Add('Extract: '+AFile);
end;

procedure HideShow(Sender: TObject);
begin
  If not Flag then begin
    FilesMemo.Hide;
    DetailsButton.Caption:='Детали...';
    Flag:=True;
  end else begin
    FilesMemo.Show;
    DetailsButton.Caption:='Скрыть';
    Flag:=False;
  end;
end;

procedure InitializeWizard();
begin
  WizardForm.ProgressGauge.Top:=ScaleY(34);

  FilesMemo:=TNewMemo.Create(WizardForm);
  with FilesMemo do
  begin
    SetBounds(WizardForm.InstallingPage.Left, ScaleY(88), WizardForm.ProgressGauge.Width, ScaleY(145));
    Parent:=WizardForm.InstallingPage;
    WordWrap:=True;
    ScrollBars:=ssVertical;
    ReadOnly:=True;
    Visible:=false;
    Clear;
  end;

  DetailsButton:=TNewButton.Create(WizardForm);
  with DetailsButton do
  begin
    Parent:=WizardForm.InstallingPage;
    SetBounds(ScaleX(334), ScaleY(60), ScaleX(75), ScaleY(25));
    Caption:='Детали';
    OnClick:=@HideShow
  end;
  Flag:=True;
end;

Share this post


Link to post

Short link
Share on other sites

На флаге external не работает:

[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirName={pf}\MyApp
Compression=none

[Files]
Source: C:\Windows\Fonts\*; DestDir: {app}; BeforeInstall: AddToMemo;

[```Code```]
var
  DetailsButton: TNewButton;
  FilesMemo: TNewMemo;
  Flag: Boolean;

procedure AddToMemo();
var
  AFile: String;
begin
  AFile:=ExpandConstant(CurrentFilename);
  If ExtractFileExt(AFile)='' then
  FilesMemo.Lines.Add('CreateFolder: '+RemoveBackslash(AFile)) else
  FilesMemo.Lines.Add('Extract: '+AFile);
end;

procedure HideShow(Sender: TObject);
begin
  If not Flag then begin
    FilesMemo.Hide;
    DetailsButton.Caption:='Детали...';
    Flag:=True;
  end else begin
    FilesMemo.Show;
    DetailsButton.Caption:='Скрыть';
    Flag:=False;
  end;
end;

procedure InitializeWizard();
begin
  WizardForm.ProgressGauge.Top:=ScaleY(34);

  FilesMemo:=TNewMemo.Create(WizardForm);
  with FilesMemo do
  begin
    SetBounds(WizardForm.InstallingPage.Left, ScaleY(88), WizardForm.ProgressGauge.Width, ScaleY(145));
    Parent:=WizardForm.InstallingPage;
    WordWrap:=True;
    ScrollBars:=ssVertical;
    ReadOnly:=True;
    Visible:=false;
    Clear;
  end;

  DetailsButton:=TNewButton.Create(WizardForm);
  with DetailsButton do
  begin
    Parent:=WizardForm.InstallingPage;
    SetBounds(ScaleX(334), ScaleY(60), ScaleX(75), ScaleY(25));
    Caption:='Детали';
    OnClick:=@HideShow
  end;
  Flag:=True;
end;

спасибо

На флаге external не работает:

[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirName={pf}\MyApp
Compression=none

[Files]
Source: C:\Windows\Fonts\*; DestDir: {app}; BeforeInstall: AddToMemo;

[```Code```]
var
  DetailsButton: TNewButton;
  FilesMemo: TNewMemo;
  Flag: Boolean;

procedure AddToMemo();
var
  AFile: String;
begin
  AFile:=ExpandConstant(CurrentFilename);
  If ExtractFileExt(AFile)='' then
  FilesMemo.Lines.Add('CreateFolder: '+RemoveBackslash(AFile)) else
  FilesMemo.Lines.Add('Extract: '+AFile);
end;

procedure HideShow(Sender: TObject);
begin
  If not Flag then begin
    FilesMemo.Hide;
    DetailsButton.Caption:='Детали...';
    Flag:=True;
  end else begin
    FilesMemo.Show;
    DetailsButton.Caption:='Скрыть';
    Flag:=False;
  end;
end;

procedure InitializeWizard();
begin
  WizardForm.ProgressGauge.Top:=ScaleY(34);

  FilesMemo:=TNewMemo.Create(WizardForm);
  with FilesMemo do
  begin
    SetBounds(WizardForm.InstallingPage.Left, ScaleY(88), WizardForm.ProgressGauge.Width, ScaleY(145));
    Parent:=WizardForm.InstallingPage;
    WordWrap:=True;
    ScrollBars:=ssVertical;
    ReadOnly:=True;
    Visible:=false;
    Clear;
  end;

  DetailsButton:=TNewButton.Create(WizardForm);
  with DetailsButton do
  begin
    Parent:=WizardForm.InstallingPage;
    SetBounds(ScaleX(334), ScaleY(60), ScaleX(75), ScaleY(25));
    Caption:='Детали';
    OnClick:=@HideShow
  end;
  Flag:=True;
end;

а можно 

BeforeInstall: AddToMemo;

написать один раз как нибудь чтоб не прописывать к каждому 

Source

?

Share this post


Link to post

Short link
Share on other sites

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

  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

Теперь всё заработало, но картинки не показывает. В чём проблема? Могу скинуть скрипт в лч

Просто добавив этот код картинок не будет. Впрочем, вон вам уже рвутся помогать.

 

почему у меня звук лезет на нижний компонент тоже который не прописан?

Компонент - дочерний?

 

это хрень не рабочая,я прошу рабочий!!

Попробовал, поле пустое, текста 0

Проблемы с вашей стороны. Инициализацию хотя бы объединяли?..

'Пруф.'

post-16412-0-12555200-1416667451_thumb.png

а можно 

BeforeInstall: AddToMemo;

написать один раз как нибудь чтоб не прописывать к каждому 

Source

?

Неа.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Просто добавив этот код картинок не будет. Впрочем, вон вам уже рвутся помогать.

 

 

 

 

От него нет помощи) Я вставил код и немного изменил в тех строчках где нужно написать название картинок, но перед этим добавил их в Files. Но когда делаю модпак есть 2 окна но картинки нет что делать?  

Share this post


Link to post

Short link
Share on other sites
От него нет помощи)

Не сомневался.

 

что делать?

Прикрепите скрипт.

Edited by Kotyarko_O
  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

Просто добавив этот код картинок не будет. Впрочем, вон вам уже рвутся помогать.

 

 

Если что, вот скрипт. Посмотри что не так?

Модпак2.zip

Share this post


Link to post

Short link
Share on other sites

 

 

Если что, вот скрипт.
Ага, и только он. Желательно всё, что от него есть (можно без самих модов).

Share this post


Link to post

Short link
Share on other sites

Просто добавив этот код картинок не будет. Впрочем, вон вам уже рвутся помогать.

 

Компонент - дочерний?

 

Проблемы с вашей стороны. Инициализацию хотя бы объединяли?..

'Пруф.'

Неа.

С нашей? Котярко, я знал, что ты *****, но не настолько же;)

Не сомневался.

 

Прикрепите скрипт.

Слушай, ты бы сопляк [мат] свой на привязи держал, ок? Держите Ваше мнение при себе, уважаемый;)

  • Upvote 1
  • Downvote 3

Share this post


Link to post

Short link
Share on other sites

Кому-то не нравлюсь? - Застрелитесь, не исправлюсь :heh:

 

@Prost, "Архив повреждён или имеет неизвестный формат".

Edited by Kotyarko_O
  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

Улыбнуло :)

 

@Prost, "Архив повреждён или имеет неизвестный формат".

Долго вы думали, чтобы минус поставить и написать это:)

  • Upvote 1
  • Downvote 3

Share this post


Link to post

Short link
Share on other sites

@Prost,

'Прицел от Jove.': UndefPic := 'F:\СЮДА СКАЧИВАЕТСЯ ВСЁ ЧТО С ЯНДЕКСА КАЧАЮ\New Script\5.bmp'; // пишем точно так же, как прописано в компонентах
'Дамаг панель от GambitER.': UndefPic := 'F:\СЮДА СКАЧИВАЕТСЯ ВСЁ ЧТО С ЯНДЕКСА КАЧАЮ\New Script\25.bmp';

UndefPic должен содержать имя изображения, без пути.

Описание компонента должно быть в точности такое, как и прописано в секции [Components]. Или уберите точки из кода, приведённого выше, или добавьте их к описанию компонентов в одноимённой секции ([Components]).

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

@Prost,

'Прицел от Jove.': UndefPic := 'F:\СЮДА СКАЧИВАЕТСЯ ВСЁ ЧТО С ЯНДЕКСА КАЧАЮ\New Script\5.bmp'; // пишем точно так же, как прописано в компонентах
'Дамаг панель от GambitER.': UndefPic := 'F:\СЮДА СКАЧИВАЕТСЯ ВСЁ ЧТО С ЯНДЕКСА КАЧАЮ\New Script\25.bmp';

UndefPic должен содержать имя изображения, без пути.

Описание компонента должно быть в точности такое, как и прописано в секции [Components]. Или уберите точки из кода, приведённого выше, или добавьте их к описанию компонентов в одноимённой секции ([Components]).

Спс теперь работает

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 InitializeSetup(): Boolean; или InitializeWizard(): Boolean;
...
Procedure DeinitializeSetup(): Boolean; или DeinitializeWizard(): Boolean;

А при удалении нужно:

Procedure InitializeUninstall(): Boolean; и DeinitializeUninstall(): Boolean;
Edited by Kotyarko_O

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