Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 5]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 5]

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1265
Благодарности: 1025


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2
Скрипты Inno Setup. Помощь и советы [часть 3]
Скрипты Inno Setup. Помощь и советы [часть 4]

Отправлено: 03:49, 21-05-2012

 

Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


zeroka_no_onna,
Код: Выделить весь код
DiskSpanning=yes
SlicesPerDisk=3
DiskSliceSize=1566000000
эти строчки зачем? они нужны, когда упаковка средствами самого Inno. у IsDone усть своя функция запроса следующего диска.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Отправлено: 18:14, 30-05-2012 | #131



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для GoshaPolo

Новый участник


Сообщения: 25
Благодарности: 2

Профиль | Отправить PM | Цитировать


Кто-нибудь мне подскажет все-таки как скрыть созданную дополнительно страницу? Какой у нее будет ID?

Отправлено: 18:38, 30-05-2012 | #132


Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


GoshaPolo, Тебе ответили уже:
http://forum.oszone.net/post-1925022-125.html
Ее ID равен MyPage.ID.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Отправлено: 18:51, 30-05-2012 | #133


Аватара для GoshaPolo

Новый участник


Сообщения: 25
Благодарности: 2

Профиль | Отправить PM | Цитировать


Gnom_aka_Lexander, сорри не заметил того ответа. Но все же я не могу сообразить. Страницу я создал в расширенной версии компилятора от ResTools внутренними средствами, то есть не прописывал ее в коде. Как бы узнать какой у нее ID?

Отправлено: 19:03, 30-05-2012 | #134


Новый участник


Сообщения: 29
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата:
эти строчки зачем? они нужны, когда упаковка средствами самого Inno. у IsDone усть своя функция запроса следующего диска.
ISDone вцелом переусложнён и неудобен, вот именно и хотелось использовать его только для того, что само Inno не умеет - т.е. прогресса для сторонних упаковщиков.
Тут задумывалось что вначале само inno копирует с дисков, а затем уж IsDone + arc и т.п.
Ведь нужные ему файлы, всё в сетапе же должно быть?
Код: Выделить весь код
#define records
#define facompress
вот эти и arc?

Гм, кстати, rep/precomp/packjpg и прочее у меня как-раз таки и не в сетапе.Хотя не пофиг ли ему где и есть ли они?
Вобшем, не понимаю.

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

Отправлено: 19:06, 30-05-2012 | #135


Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


GoshaPolo, код покажи.zeroka_no_onna, придется сперва почитать всетаки, справки по исдону. facompress - длл-ка которая ускоряет распаковку фриарк. records - директива, нужная для механизма равномерного заполнения прогрессбара. и все усложнение начинается с того момента, как запакованное во фриарк было засунуто в инсталл.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Отправлено: 19:22, 30-05-2012 | #136


Аватара для Raf-9600

Старожил


Сообщения: 398
Благодарности: 21

Профиль | Отправить PM | Цитировать


Цитата Gnom_aka_Lexander:
Выглядеть будет так »
Благодарю. Меня ещё интересует:
1. Как сделать чтобы компонент выбирался и блокировался? У меня получается делать только что-то одно
2. Можно ли сделать чтобы правило выставления галочки в зависимости от компонента, не работало и в обратном направлении. Т.е. нужно чтобы если компонент выбран, то галочка ставилась, а если не выбран, то пользователь сам мог её поставить или убрать.

Грубо говоря, вот код, и последние два правила работают не так как нужно. Буду весьма признателен если подскажете как это скорректировать:

читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[CustomMessages]
TypeOfInstallation=Тип установки:
Game=Игра
OnlyLocation=Только локализация
backup=Резервная копия
Text=Текст:
VoiceDiablo2=Озвучка Diablo 2:
VersionGame=Версия игры:

[Components]
Name: "Game"; Description: "{cm:TypeOfInstallation}"; Flags: disablenouninstallwarning;
Name: "Game\Full"; Description: "{cm:Game}"; Flags: exclusive disablenouninstallwarning; Types: full
Name: "Game\Lokal"; Description: "{cm:OnlyLocation}"; Flags: collapsed exclusive disablenouninstallwarning;
Name: "Game\Lokal\Backup"; Description: "{cm:backup}"; Flags: disablenouninstallwarning;


Name: "GameDiablo2"; Description: Diablo 2; Types: full
Name: "GameDiablo2\Text"; Description: "{cm:Text}"; Flags: collapsed; Types: full
Name: "GameDiablo2\VoiceD2"; Description: "{cm:VoiceDiablo2}"; Flags: collapsed; Types: full
Name: "Version"; Description: "{cm:VersionGame}"; Flags: collapsed disablenouninstallwarning;


[c0de]
var
OldEvent_ComponentsListClickCheck: TNotifyEvent;

procedure ComponentsListClickCheck(Sender: TObject);
var
  i : Integer;
begin
  for i := 0 to WizardForm.ComponentsList.ItemCount -1 do
  begin
    case WizardForm.ComponentsList.ItemCaption[i] of
      '1.04c', '1.05b' : // перечисляем через запятую надписи компонентов, которые зависят от GameLoD
      WizardForm.ComponentsList.ItemEnabled[i] := not (IsComponentSelected('GameLoD') or IsComponentSelected('Mod\PlugY'));

      '1.07', '1.08' : 
      WizardForm.ComponentsList.ItemEnabled[i] := IsComponentSelected('GameLoD') and not IsComponentSelected('Mod\PlugY');

      ExpandConstant('{cm:Text}'), ExpandConstant('{cm:VoiceDiablo2}'), ExpandConstant('{cm:VersionGame}') :
      WizardForm.ComponentsList.Checked[i] := IsComponentSelected('Game\Full');

      ExpandConstant('{cm:Text}'), ExpandConstant('{cm:VoiceDiablo2}'), ExpandConstant('{cm:VersionGame}') :
      WizardForm.ComponentsList.ItemEnabled[i] := not IsComponentSelected('Game\Full');


    end;
  end;
  OldEvent_ComponentsListClickCheck(Sender);
end;

procedure InitializeWizard();
begin
  with WizardForm.ComponentsList do
  begin
    OldEvent_ComponentsListClickCheck := OnClickCheck;
    OnClickCheck := @ComponentsListClickCheck;
    ItemEnabled[3]:=True;
  end;
end;

Отправлено: 19:23, 30-05-2012 | #137


Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


Raf-9600,
Код: Выделить весь код
      '1.07', '1.08' :
       WizardForm.ComponentsList.ItemEnabled[i] := IsComponentSelected('GameLoD') and not IsComponentSelected('Mod\PlugY');

      ExpandConstant('{cm:Text}'), ExpandConstant('{cm:VoiceDiablo2}'), ExpandConstant('{cm:VersionGame}') :
      begin
        WizardForm.ComponentsList.Checked[i] := IsComponentSelected('Game\Full');
        WizardForm.ComponentsList.ItemEnabled[i] := not IsComponentSelected('Game\Full');
      end;

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Отправлено: 19:39, 30-05-2012 | #138


Аватара для GoshaPolo

Новый участник


Сообщения: 25
Благодарности: 2

Профиль | Отправить PM | Цитировать


Gnom_aka_Lexander, кроме того, что ниже, в коде больше нет упоминания про эту страницу:

читать дальше »
Код: Выделить весь код
procedure RedesignWizardForm;
begin
  
  ISCustomPage1 := CreateCustomPage(wpSelectProgramGroup, 'ISCustomPage1_Caption', 'ISCustomPage1_Description');
  
  with ISCustomPage1.Surface do
  begin
    Name := 'ISCustomPage1';
  end;

end;

Отправлено: 19:54, 30-05-2012 | #139


Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


GoshaPolo, ISCustomPage1.ID

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:59, 30-05-2012 | #140



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 5]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход