Jump to content
Korean Random

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


Recommended Posts

, вообще, лучше сначала создать панель, а на ней уже построить изображение.

ой,тупанул

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

Link to comment
Short link
Share on other sites

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

По такому же принципу.

 

'Вот рабочий пример для кнопки "Далее":'

[Files]
Source: WizardForm.MyImage.bmp; Flags: dontcopy

[Code]
Var
 MyImage: TBitmapImage;
 MyImagePanel: TPanel;

Procedure OrigNextButtonClick(Sender: TObject);
begin
 WizardForm.NextButton.OnClick(nil);
end;

Procedure InitializeWizard();
begin
 ExtractTemporaryFile('WizardForm.MyImage.bmp');
 MyImagePanel := TPanel.Create(WizardForm);
 MyImagePanel.Parent := WizardForm;
 //Где-то видел более компактный способ, не смог вспомнить\\
 MyImagePanel.SetBounds(WizardForm.NextButton.Left, WizardForm.NextButton.Top, WizardForm.NextButton.Width, WizardForm.NextButton.Height);
 MyImage := TBitmapImage.Create(MyImagePanel);
 MyImage.Parent := MyImagePanel;
  MyImage.Enabled := True
  MyImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.MyImage.bmp'));
  MyImage.OnClick := @OrigNextButtonClick;
 WizardForm.NextButton.Hide;
 MyImage.Show;
end;

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

По такому же принципу.

 

'Вот рабочий пример для кнопки "Далее":'

[Files]
Source: WizardForm.MyImage.bmp; Flags: dontcopy

[Code]
Var
 MyImage: TBitmapImage;
 MyImagePanel: TPanel;

Procedure OrigNextButtonClick(Sender: TObject);
begin
 WizardForm.NextButton.OnClick(nil);
end;

Procedure InitializeWizard();
begin
 ExtractTemporaryFile('WizardForm.MyImage.bmp');
 MyImagePanel := TPanel.Create(WizardForm);
 MyImagePanel.Parent := WizardForm;
 //Где-то видел более компактный способ, не смог вспомнить\\
 MyImagePanel.SetBounds(WizardForm.NextButton.Left, WizardForm.NextButton.Top, WizardForm.NextButton.Width, WizardForm.NextButton.Height);
 MyImage := TBitmapImage.Create(MyImagePanel);
 MyImage.Parent := MyImagePanel;
  MyImage.Enabled := True
  MyImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.MyImage.bmp'));
  MyImage.OnClick := @OrigNextButtonClick;
 WizardForm.NextButton.Hide;
 MyImage.Show;
end;

а панель для чего?

Link to comment
Short link
Share on other sites

Без него изображение не отобразится, визард может перекрыть.

ах да,точно

как называется кнопка установки?

я написал instalButton но ошибка 

Link to comment
Short link
Share on other sites

как называется кнопка установки?

я написал instalButton но ошибка 

Ты с потолка это всё берёшь, я не пойму? Ведь есть справка, редактор..

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

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

Ты с потолка это всё берёшь, я не пойму? Ведь есть справка, редактор..

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

я справку не смотрел 

Link to comment
Short link
Share on other sites

 

 

Как сделать чтобы не было файлов удаления модпака? Тоесть файлы unistall.exe и т.д?

 

видимо так:

[setup]
// Не создавать деинсталлятор.
Uninstallable=no

// не показывать диалог выбора языка
ShowLanguageDialog=no 

// НЕ добавлять папку World_of_Tanks.
AppendDefaultDirName = no

 // не выводить сообщение "такая папка уже существует"
DirExistsWarning=no 

// Сворачивание компонентов в главную строку
;ComponentsListTVStyle=yes

// Отключение страниц.
DisableProgramGroupPage=yes
// Выводит сообщение об авторских правах в правом нижнем углу фонового окна инсталятора
;AppCopyright=Copyright ©  2014 ZAV, Inc.

// Не создавать запись в меню Установка и удаление программ Панели управления.
;CreateUninstallRegKey=yes

//Создание ключа деинсталляции в зависимости от выбранного компонента
;CreateUninstallRegKey=not IsComponentSelected('portable')
//Или так, если деинсталятор не нужен совсем
;Uninstallable=not IsComponentSelected('portable')

// Не создавать деинсталлятор.
Uninstallable=no

Link to comment
Short link
Share on other sites

Всем добрый вечер.

Как сделать чтобы не было файлов удаления модпака?

Тоесть файлы unistall.exe и т.д?

а зачем их убирать,как удалять то потом?

Link to comment
Short link
Share on other sites

 

 

а зачем их убирать,как удалять то потом?

если модпак никуда не устанавливается то и удалять не надо.
А что касается модов то тут палка о двух концах. Например поставил прицел из модпака, потом не понравился поставил прицел левый не из модпака.
Но после деинсталяции модпак удалит такие файлы которые используют многие прицелы ( CameraNode.pyc,  __init__.pyc,  sights.pyc,  sights.xml )

Link to comment
Short link
Share on other sites

Но после деинсталяции модпак удалит такие файлы которые используют многие прицелы ( CameraNode.pyc, __init__.pyc, sights.pyc, sights.xml )

Вернее удалит все файлы, которые совпадают по имени и расположению с теми, которые были установлены этим модПаком и занесены в список деинсталлятора. Но возможно и не только по этим атрибутам. Манифест компилятора записывает и размер, и суммы, и версию файлов. А что записывается в деинсталлятор кроме имени и расположения мне пока не известно.

Edited by Kotyarko_O
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...