Jump to content
Korean Random
EvilAlex

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

Recommended Posts

Нашел в инете интересный вариант скрипта http://repacks.org.ua/inno-setup/skripty/395-zapros-2.html

Реально ли в разделе "компоненты" сделать показ картинок при выборе модов

можно но там чистить еще надо от не нужного 

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

я имел ввиду чеки, а так все норм 

Ну это как бы очевидно. Так же, как и название изменить.

 

IsDone.

Я его внутренности не смотрел, вопрос имелся ввиду по оформлению.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Реализации на инно не видел ещё, это в стиле установщиков MSI.

Если я правильно подумал, то такое довольно гемморно сделать, придётся придумывать велосипед. Оно того не стоит.

Большое СПАСИБО!!!!

... НО ведь стандартный "unins000.exe" это делает (удаляет файлы только инсталлятора).

 А так получиться: при повторной установке удалял только установленные файлы предыдущей установки?

Edited by sergey spb

Share this post


Link to post

Short link
Share on other sites

 

 

А так получиться: при повторной установке удалял установленные файлы предыдущей установки?
Да, но файлы удалятся все.
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

sergey spb, либо запускать unins000.exe от прошлой установки, либо делать бэкап всех файлов. При первом варианте стандартными средствами не будут запоминаться отмеченные компоненты из прошлой установки, т.к. она уже удалена.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
При первом варианте стандартными средствами не будут запоминаться отмеченные компоненты из прошлой установки, т.к. она уже удалена.

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

Edited by Kotyarko_O
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

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

Тоже вариант.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Тоже вариант.

Спасибо, Ясно!!!

Тогда уже последний вопрос: При повторной установке запускается "unins000.exe" (от первой установки), а затем уже выбираешь, что установить по новому.

Делал сам, только получается: идёт установка, затем спрашивает удалить или нет? А наоборот можно (спрашивает удалить, потом устанавливаешь заново  компоненты).

Ещё раз СПАСИБО за помощь!!!! :no1:

Edited by sergey spb

Share this post


Link to post

Short link
Share on other sites

 

 

А наоборот можно (спрашивает удалить, потом устанавливаешь заново компоненты).
Когда именно должен спросить и когда именно должен удалить?

Share this post


Link to post

Short link
Share on other sites

-

Когда именно должен спросить и когда именно должен удалить?

Второй раз запускаешь (т.е. уже установлены какие-то файлы и "unins000.exe") и спрашивает: удалить? Если : да, то запускаеться "unins000.exe" от первой установки и удаляет все компоненты, затем идет выбор компонентов для новой (второй) установки.

Share this post


Link to post

Short link
Share on other sites
post-31076-0-86093100-1427203159_thumb.jpg

ComponentsListTVStyle=yes , не подскажите, чтобы изначально при выборе компонентов было свернуто?

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

Share this post


Link to post

Short link
Share on other sites

 

 

чтобы изначально при выборе компонентов было свернуто?
Flags: collapsed;
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites










Flags: collapsed;

Большое СПАСИБО!!!!!

Всё получилось.

 

Пост: #2993, ответ: del? Ответ не понял !

Edited by sergey spb

Share this post


Link to post

Short link
Share on other sites

 

Пост: #2993, ответ: del? Ответ не понял !

сообщение удалено  :ok:

Share this post


Link to post

Short link
Share on other sites

-

Второй раз запускаешь (т.е. уже установлены какие-то файлы и "unins000.exe") и спрашивает: удалить? Если : да, то запускаеться "unins000.exe" от первой установки и удаляет все компоненты, затем идет выбор компонентов для новой (второй) установки.

[Code]
Procedure CurStepChanged(CurStep: TSetupStep);
var
 Reg, UninstallPath: String;
 ResultCode: Integer;
begin
 if CurStep = ssInstall then
 begin
  Reg := ExpandConstant('Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{#emit SetupSetting("AppID")}_is1');
  if RegValueExists(HKLM, Reg, 'UninstallString') then
   RegQueryStringValue(HKLM, Reg, 'UninstallString', UninstallPath);
  if Length(UninstallPath) > 0 then
  begin
   case MsgBoxEx(WizardForm.Handle, 'Рекомендуется удалить ранее установленную версию сборки.' + #13#10 + 'Хотите сделать это сейчас?', '...', MB_YESNO or MB_ICONQUESTION, 0, 0) of
    IDYES: Exec(RemoveQuotes(ExpandConstant(UninstallPath)), '/SILENT /SUPPRESSMSGBOXES', '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
    IDNO: Exit;
   end;
  end;
 end;
end;

Пробуй.

p.s. немного подправил.

Edited by Kotyarko_O
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

А можно так 

#define DelModpack           "Обнаружена установленная сборка"
[CustomMessages]
EkspointModpack=Обнаружена более ранняя установленная версия Ekspoint Mod Pack.%nРекомендуется удалить данную версию сборки,перед установкой.%nВыполнить удаление?

[Code]
function DeletModpak: Boolean;
var
  UnStr: String;
  ErrorCode, Mesages: Integer;
begin
  Result := True;
  if RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{EkspointRU-6B5CBE9A-29E4-4AF7-8528-4D2AFFA04B0B}_is1', 'UninstallString', UnStr) then
begin
   If UnStr <> '' then
begin
   Mesages :=  MsgBoxEx(0, CustomMessage('EkspointModpack'),'{#DelModpack}', MB_YESNO or MB_ICONQUESTION, 0, 0);
case Mesages of
   idYes:
begin
   UnStr := RemoveQuotes(UnStr);
   Exec(UnStr, '/silent', '', SW_Show, ewWaitUntilTerminated, ErrorCode);
   Result := True;
end;end;end;end;
end;

Хотя одно и тоже почти (только тут через function InitializeSetup )

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