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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: Vadikan
Дата: 22-05-2012
Описание: Закрыто
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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. Помощь и советы [часть 5]

Отправлено: 18:01, 29-08-2011

 

Аватара для Johny777

Ветеран


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

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


Raf-9600,
Item Enabled : = False
объект включен НЕТ, те заблокирован

у тебя все дочернин объекты относятся к двум переключателям (двум играм)
а дочерний объект переключателя не может быть заблокированнным
пример
в 1 игре один элемент (та же активация например) заблокирован
я переключаюсь на игру 2, но все дочернин элементы первой должны лишиться своих флажков, а с одним не получается. Он заблокирован.
попробуй так скомпилировать
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

Raf-9600, 

Name: "Diablo"; Description: Diablo; Flags: exclusive disablenouninstallwarning;
Name: "Diablo\Local"; Description: Локализация; Flags: exclusive disablenouninstallwarning
Name: "Diablo\Local\Russian"; Description: Русская; Flags: exclusive collapsed disablenouninstallwarning; ExtraDiskSpaceRequired: 518540567
Name: "Diablo\Local\Russian\Stream"; Description: Stream; Flags: exclusive disablenouninstallwarning; Types: full
Name: "Diablo\Local\Russian\Fargus"; Description: Фаргус; Flags: exclusive collapsed disablenouninstallwarning;
Name: "Diablo\Local\Englisch"; Description: Английская; Flags: exclusive collapsed disablenouninstallwarning
Name: "Diablo\Local\Deusch"; Description: Немецкая; Flags: exclusive collapsed disablenouninstallwarning


Name: "Diablo\patch"; Description: Версия; Flags: collapsed disablenouninstallwarning

Name: "Diablo\patch\100"; Description: 1.00; Flags: exclusive collapsed disablenouninstallwarning; Types: full
Name: "Diablo\patch\107"; Description: 1.07; Flags: exclusive collapsed disablenouninstallwarning
Name: "Diablo\patch\108"; Description: 1.08; Flags: exclusive collapsed disablenouninstallwarning
Name: "Diablo\patch\109"; Description: 1.09; Flags: exclusive collapsed disablenouninstallwarning
Name: "Diablo\patch\109b"; Description: 1.09b; Flags: exclusive collapsed disablenouninstallwarning
Name: "Diablo\NoCD"; Description: No-CD; Flags: disablenouninstallwarning; Types: full
///фиксирован
Name: "Diablo\UPD"; Description: Активировать UPD; Flags: disablenouninstallwarning fixed; Types: full



Name: "Hellfire"; Description: Hellfire; Flags: exclusive disablenouninstallwarning ;
Name: "Hellfire\Local"; Description: Локализация; Flags: disablenouninstallwarning
Name: "Hellfire\Local\Russian"; Description: Русская; Flags: exclusive collapsed disablenouninstallwarning; ExtraDiskSpaceRequired: 518540567
Name: "Hellfire\Local\Russian\Stream"; Description: Stream; Flags: exclusive collapsed disablenouninstallwarning;
Name: "Hellfire\Local\Russian\Fargus"; Description: Фаргус; Flags: exclusive disablenouninstallwarning;
Name: "Hellfire\Local\Englisch"; Description: Английская; Flags: exclusive collapsed disablenouninstallwarning
Name: "Hellfire\patch"; Description: Версия; Flags: collapsed disablenouninstallwarning
Name: "Hellfire\patch\100"; Description: 1.00; Flags: exclusive disablenouninstallwarning
Name: "Hellfire\patch\101"; Description: 1.01; Flags: exclusive collapsed disablenouninstallwarning
Name: "Hellfire\patch\102"; Description: 1.02; Flags: exclusive collapsed disablenouninstallwarning
Name: "Hellfire\NoCD"; Description: No-CD; Flags: disablenouninstallwarning


Name: "Hellfire\Hide"; Description: Скрытые возможности; Flags: collapsed disablenouninstallwarning
Name: "Hellfire\Hide\multitest"; Description: Мультиплеер; Flags: disablenouninstallwarning collapsed;
Name: "Hellfire\Hide\multitest\udp"; Description: Активировать UDP; Flags: disablenouninstallwarning
Name: "Hellfire\Hide\NestArt"; Description: Статичная палитра Улья; Flags: disablenouninstallwarning dontinheritcheck;
Name: "Hellfire\Hide\bardtest"; Description: Класс - Бард; Flags: disablenouninstallwarning;
Name: "Hellfire\Hide\Barbariantest"; Description: Класс - Варвар; Flags: disablenouninstallwarning;
Name: "Hellfire\Hide\theoquest"; Description: Квест от Цилии; Flags: disablenouninstallwarning;
Name: "Hellfire\Hide\FarmersOrchard"; Description: Квест от фермера Лестера; Flags: exclusive disablenouninstallwarning
Name: "Hellfire\Hide\cowquest"; Description: Квест от Полного Психа; Flags: exclusive disablenouninstallwarning


а теперь запусти и вылетит ошибка подтверждающая всё вышесказанное

читать дальше »
Код: Выделить весь код
---------------------------
Ошибка
---------------------------
Radio item cannot have disabled child items.
---------------------------
ОК   
---------------------------


просто нужно при выборе A, выбиралось и B и если потом убрать галку с B, от галка(точка) уберётся и с A, НО не блокируй! (смысл? если они и так друг от друга зависят)
а у тебя в коде через раз блокировка и потому всё виснет,

и мой тебе совет
сделай окошко выбора компонентов больше по вертикали. Еслим внизу поставить галку, а вверху (где не видно) галка снимется (которая важнее той что снизу, но пользватель не видит, что её уже нет), то получится нехорошо

Последний раз редактировалось Johny777, 07-04-2012 в 17:47.

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

Отправлено: 17:36, 07-04-2012 | #1451



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

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


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

Старожил


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

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


Цитата Johny777:
а теперь запусти и вылетит ошибка подтверждающая всё вышесказанное »
Хмм... Хорошо. Выбери немецкую локализацию Diablo, поставь флажок напротив "Активировать UDP", а потом кликни на Hellfire. В результате "Активировать UDP" заблокируется, но инсталлятор не зависнет.
А вот если, к примеру, сделать все то же самое, но выбрать английскую локализацию, то инсталлятор зависнет... Либо мистика, либо я чего-то не догоняю

Цитата Johny777:
и мой тебе совет
сделай окошко выбора компонентов больше по вертикали. Еслим внизу поставить галку, а вверху (где не видно) галка снимется (которая важнее той что снизу, но пользватель не видит, что её уже нет), то получится нехорошо »
Такого у меня нет. Я рассчитывал, что пользователь выбирает компоненты сверху в низ, и соответственно, выбрав нижний компонент, с тем, что выше него, уже ничего не произойдет.

Отправлено: 17:47, 07-04-2012 | #1452


Аватара для Johny777

Ветеран


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

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


Raf-9600,
выпей водяры и
начни сначала
но без строк WizardForm.ComponentsList.ItemEnabled[31]:=False или True
а заместо них
wizardform.ComponentsList.Checked[1]:=True; или False
никакой мистики
это просто вынос мозга

Отправлено: 17:55, 07-04-2012 | #1453


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

Старожил


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

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


Цитата Johny777:
НО не блокируй! (смысл? если они и так друг от друга зависят) »
Не все так просто. К примеру, немецкая локализация может работать только на версии 1.09b. Так почему бы выбрав её, не заблокировать другие версии игры, чтобы пользователь не путался?

Отправлено: 17:56, 07-04-2012 | #1454


Аватара для Johny777

Ветеран


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

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


Цитата Johny777:
при выборе A, выбиралось и B и если потом убрать галку с B, от галка(точка) уберётся и с A »
Код: Выделить весь код
если выбран компонен "немецкая локализация" то
  If IsComponentSelected('немецкая локализация') then
начинаем
    begin
      WizardForm.ComponentsList.Checked[номер]:=True   1.09b патч отмечен (если он относится к радиокнопке, то 2 другие не отмечены). Если это чекбокс то снизу в этом же куске приписываешь, что они не отмечены, а чекбокс этога патча отмечен
      OldEvent_ComponentsListClickCheck(Sender);
    end  конец
в противном случае
  else
    begin
      WizardForm.ComponentsList.Checked[номер]:=false патч не отмечен
    end;
end;
пользователь при всём желании не сможет обойти это условие
те установить патч с другой локализацией кроме немецкой не получится.
такое же услвии для патча только по отношению к немецкой озвучке
Но если ты его ещё и заблокируешь, то всё зависнет
в блокировке просто нет смысла!

Последний раз редактировалось Johny777, 07-04-2012 в 18:11.

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

Отправлено: 18:05, 07-04-2012 | #1455


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

Старожил


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

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


Цитата Johny777:
wizardform.ComponentsList.Checked[1]:=True; или False »
Выглядит не так симпатично как с ItemEnabled, но как резервный вариант решения ситуации вполне катит.

Цитата Johny777:
Но если ты его ещё и заблокируешь, то всё зависнет
в блокировке просто нет смысла! »
Блокировка визуально красиво выглядит (^_^)
Хоть ты и прав, но я ещё поколдую над ItemEnabled.

Отправлено: 18:07, 07-04-2012 | #1456


Аватара для Johny777

Ветеран


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

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


Цитата Raf-9600:
я ещё поколдую над ItemEnabled. »
радиатор с кучей рёбрышек на мозг не забудь поставить!
и ты используешь флаг collapsed
не забудь тогда приписать в InitializeWizard; строку
WizardForm.ComponentsList.TreeViewStyle := True;

Отправлено: 18:13, 07-04-2012 | #1457


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

Старожил


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

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


Цитата Johny777:
и ты используешь флаг collapsed
не забудь тогда приписать в InitializeWizard; строку
WizardForm.ComponentsList.TreeViewStyle := True; »
Я прописываю ComponentsListTVStyle=true в секции [Setup]

Отправлено: 18:26, 07-04-2012 | #1458


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

Старожил


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

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


Я добился своего. Везде где был прописан ItemEnabled там он и остался. К ним я лишь добавил правила снятия галочек с Hellfire\Hide\Barbariantest и Diablo\UPD

Последний раз редактировалось Raf-9600, 07-04-2012 в 20:34.

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

Отправлено: 19:52, 07-04-2012 | #1459


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

Старожил


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

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


Ктонить может перенести задачу из батника в секцию [Run] инсталлятора? Т.е. нужно чтобы действие выполнялись без bat файла, напрямую через cmd.exe

Код: Выделить весь код
@Echo Off
For /F "tokens=*" %%i In (123.txt) Do <nul set /p $WRT="%%i. Good Bye" >123.txt
pause&goto :Eof

Последний раз редактировалось Raf-9600, 08-04-2012 в 10:25.


Отправлено: 22:56, 07-04-2012 | #1460



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход