Имя пользователя:
Пароль:
 | Правила  

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

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

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

Ветеран


Contributor


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


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

Профиль | Отправить 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

 

Аватара для Johny777

Ветеран


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

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


Ivan_009,
описание использования читай!

читать дальше »
Код: Выделить весь код
    /// AskForStyle(стиль по умолчанию - 0 или 1, название заголовка окна, название первого стиля, название второго стиля) возвращает 0, 1, 2
  wAnswer := AskForStyle(0,'какой стиль юзать?','Steam стиль','White стиль');
  /////////////////////////////////////////////////// 0 /////////\\\ 1 //////

  /// Функция вернёт число равное 0 - нажали на отмену, 1 - 1 + индекс выбранного айтема(0+1) = стиль 1, 2 - индекс выбранного айтема (1+1) - стиль 2

....

procedure InitializeWizard();
begin
  /// здесь общий код для двух стилей

  if wAnswer = 1 then
  begin
    /// код для первого слитя

    Cvet:='_steam';
    
    MsgBox('будет использован стиль 1', mbInformation, MB_OK);
  end else
  begin
    /// код для вторго слитя
    
    Cvet:='_white';
    
    MsgBox('будет использован стиль 2', mbInformation, MB_OK);
  end;

end;


вот упрости функцияю, а то у меня малость запутано с этим нулём
чтоб вместо стиля по умолчанию - 0 или 1 было 1 или 2
впиши в функции заместо ItemIndex := DefStyle; это ItemIndex := DefStyle - 1; и в первом параметре отправляй стиль по умолчанию (выбранный по умолчанию айтем комбобокса)
те для стиля 1 - AskForStyle(1, ...
для стиля 2 - AskForStyle(2, ...

я ввёл в ф-ю "стиль по умолчанию" тк у тебя 100% один из двух стилее более рекомендованный и чтоб он был заранее выбран при первом запуске

Последний раз редактировалось Johny777, 28-09-2012 в 19:33.

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

Отправлено: 19:16, 28-09-2012 | #1021



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

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


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


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

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


Изображения
Тип файла: png sshot-1.png
(16.1 Kb, 19 просмотров)

Цитата R.i.m.s.k.y.:
[*Code]
Function InitializeSetup: Boolean;
begin
Result := True;
If FileExists(ExpandConstant('{src}\file.log'))) then begin
MsgBox('Отсутсвуют файлы установки!' + #13#10 + 'Установка прекращена', mbError, mb_Ok);
Result := False;
end
else Result := True;
// функция InitializeSetup - начальная, выполняется самой первой после запуска инсталлера, если она вернет false - инсталлер закроется и не пискнет
end; »

Отправлено: 19:27, 28-09-2012 | #1022


Аватара для R.i.m.s.k.y.

Ветеран


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

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


Dima2009, скобка лишняя, две открываются и три закрываются

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

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

Отправлено: 19:31, 28-09-2012 | #1023


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


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

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


Цитата R.i.m.s.k.y.:
Dima2009, »
тут наоборот получаеться без файла устанавливаеться а с файлом нет.

Отправлено: 19:40, 28-09-2012 | #1024


Аватара для Johny777

Ветеран


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

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


Цитата Dima2009:
ут наоборот получаеться без файла устанавливаеться а с файлом нет. »
If not FileExists(ExpandConstant('{src}\file.log'))

R.i.m.s.k.y., Dima2009,
можно записать покороче (спасибо El Sanchez-у) тк FileExists возвращает булев значение которое можно напрямую передать в понимающий только эти значения в функции InitializeSetup зарезервированной переменной Result
Код: Выделить весь код
function InitializeSetup(): Boolean;
begin
  Result := FileExists(ExpandConstant('{src}\file.log'));
  if not Result then MsgBox('Отсутсвуют файлы установки!' + #13#10 + 'Установка прекращена', mbError, mb_Ok);
end;

Последний раз редактировалось Johny777, 28-09-2012 в 19:50.

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

Отправлено: 19:43, 28-09-2012 | #1025


Аватара для Ivan_009

Ветеран


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

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


Johny777, При нажатии на отмена вот такая ошибка...

Последний раз редактировалось Ivan_009, 27-02-2013 в 16:38.


Отправлено: 19:48, 28-09-2012 | #1026


Аватара для R.i.m.s.k.y.

Ветеран


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

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


Johny777, да можно и так, только вот бывает глюк что без явного Result := True инсталлер самозакрывается.
Поэтому во избежание я всегда явно указываю где False а где True

Dima2009, пятницо, сам понимаешь
Код: Выделить весь код
[*Code]
Function InitializeSetup: Boolean;
begin
Result := True;
If ( not FileExists(ExpandConstant('{src}\file.log')) ) then begin
MsgBox('Отсутсвуют файлы установки!' + #13#10 + 'Установка прекращена', mbError, mb_Ok);
Result := False;
end
else Result := True;
// функция InitializeSetup - начальная, выполняется самой первой после запуска инсталлера, если она вернет false - инсталлер закроется и не пискнет
end;

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Отправлено: 19:49, 28-09-2012 | #1027


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


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

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


Изображения
Тип файла: png Uninstall.png
(31.0 Kb, 31 просмотров)

R.i.m.s.k.y., Johny777 - Спасибо вам за помощь!

А реально написать код деинсталлятора как у NSIS

Отправлено: 19:57, 28-09-2012 | #1028


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


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

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


Люди!!! Подскажите, пожайлуста как создать такой инсталятор

Отправлено: 08:22, 29-09-2012 | #1029


Аватара для ispolin

Ветеран


Автор проектов


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

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


вот задача
Код: Выделить весь код
[Files]
Source: {tmp}\java6x86.exe; DestDir: {tmp}; Components: java6x86; MinVersion: 0.0,5.01; Flags: deleteafterinstall
Source: {tmp}\java6x64.exe; DestDir: {tmp}; Components: java6x64; MinVersion: 0.0,5.01; Flags: deleteafterinstall 64bit
Source: {tmp}\java7x64.exe; DestDir: {tmp}; Components: java7x64; MinVersion: 0.0,5.01; Flags: deleteafterinstall 64bit
Source: {tmp}\java7x86.exe; DestDir: {tmp}; Components: java7x86; MinVersion: 0.0,5.01; Flags: deleteafterinstall
[Run]
Filename: {tmp}\java6x86.exe; Parameters: /S; StatusMsg: Java (TM) Platform SE 6 устанавливается...Ждите...; Components: java6x86; MinVersion: 0.0,5.01
Filename: {tmp}\java6x64.exe; Parameters: /S; StatusMsg: Java (TM) Platform SE 6 устанавливается...Ждите...; Components: java6x64; MinVersion: 0.0,5.01
Filename: {tmp}\java7x64.exe; Parameters: /S; StatusMsg: Java (TM) Platform SE 7 устанавливается...Ждите...; Components: java7x64; MinVersion: 0.0,5.01
Filename: {tmp}\java7x86.exe; Parameters: /S; StatusMsg: Java (TM) Platform SE 7 устанавливается...Ждите...; Components: java7x86; MinVersion: 0.0,5.01
[Components]
Name: java6x86; Description: Java(TM) Platform SE 6 Update 35 для x86 систем; Check: IsX86; MinVersion: 0.0,5.01
Name: java6x64; Description: Java(TM) Platform SE 6 Update 35 для x64 систем; Check: IsX64; MinVersion: 0.0,5.01
Name: java7x64; Description: Java(TM) Platform SE 7 Update 7 для x64 систем; Check: IsX64; MinVersion: 0.0,5.01
Name: java7x86; Description: Java(TM) Platform SE 7 Update 7 для x86 систем; Check: IsX86; MinVersion: 0.0,5.01
после запуска программы, она автоматом определит разрядность и выведет подходящие компоненты для установки, однако выводится будут оба
Java(TM) Platform SE 6 Update 35 для x86 систем
Java(TM) Platform SE 7 Update 7 для x86 систем
и это правильно, но нужно при выборе одной версии, запретить установку другой т.е , чтобы невозможно было поставить чекбокс на обе сразу
помогите плиз

-------


Отправлено: 12:30, 29-09-2012 | #1030



Компьютерный форум 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




 
Переход