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

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

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

Ветеран


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


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

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


Изменения
Автор: jameszero
Дата: 08-11-2010
Описание: тема закрыта
Лимит страниц.
Тема закрыта.
Продолжение по ссылке Скрипты Inno Setup. Помощь и советы [часть 3]




Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


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

  • Inno Script Generator - ещё один редактор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать;

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы. Официальный сайт - недоступен.
    Последняя версия: 2.0.8 [12.11.2006] - Страница с зеркалами;

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

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

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

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


Ссылка на архив предыдущей темы (также можно скачать из вложения)

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 22:06, 23-08-2009

 

Аватара для Winstan

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


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

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


Цитата Serega:
Я так полагаю, что изображение загружено на какой-то контрол, если да то:
UninstallProgressForm.ProgressBar.Parent:= ваш контрол; »
За это спасибо,а как можно убрать стандартное сообщение переде удаление и после?
Что бы их просто не было запустил унинстал.ехе появилась стр. с пб. удалилось и закрылось.

Отправлено: 15:42, 16-12-2009 | #681



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

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


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

Ветеран


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

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


В дополнение к предыдущему вопросу моему
как можно в коде обработать выбор пользователя в Components?

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


Отправлено: 17:21, 16-12-2009 | #682


Ветеран


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

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


Цитата Winstan:
как можно убрать стандартное сообщение переде удаление и после? »
Написал пример, для Restools, можно и для обычной, но там надо использовать InnoCallBack.dll...
Пример
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

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

[Code]
const
  BM_CLICK    = $00F5; // это обычный клик 
  WM_CLOSE    = $0010; // понятно из названия

// Осуществляет поиск дочернего окна
function FindWindowEx(Parent, Child: HWND; ClassName, WindowName: PChar): HWND;
  external 'FindWindowExA@user32.dll stdcall';

var
  Timer: TTimer;
  msg: string;
  Wnd, WndEx: HWND;
  count: Integer;
  
procedure OnTimer(Sender: TObject);
begin
  Wnd:= FindWindowByWindowName(msg); // ищем сообщение
  if Wnd > 0 then // если нашли
    if count = 1 then // если первое уже находили, то
      PostMessage(Wnd, WM_CLOSE, 0, 0) // просто закрываем
    else
    begin
      WndEx:= FindWindowEx(Wnd, 0,'Button', SetupMessage(msgButtonYes)); // ищем кнопку
      if WndEx > 0 then // если нашли
        begin
          PostMessage(WndEx, BM_CLICK, 0, 0); // нажимаем кнопку
          count:= 1; // указываем что первое сообщение уже нашли
          Timer.Enabled:= False; // отключаем таймер
        end;
    end;
end;

function InitializeUninstall(): Boolean;
begin
  Result:= True;

  // задаём переменной текст окна
  msg:= SetupMessage(msgUninstallAppFullTitle);
  StringChange(msg, '%1', '{#SetupSetting('AppName')}');

  Timer:= TTimer.Create(nil);
  with Timer do
    begin
      OnTimer:= @OnTimer;
      Interval:= 1;
      Enabled:= True;
    end;
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usPostUninstall then Timer.Enabled:= True; // включаем таймер ещё раз
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Последний раз редактировалось Serega, 16-12-2009 в 23:34. Причина: исправил отображение скрипта...


Отправлено: 23:12, 16-12-2009 | #683


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


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

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




Как сделать так чтобы передвинуть текст на всех страницах по разному(как на скринах)? И как сделать размер и другой шрифт всего текста на всех страницах?

ЗЫ. Я начинающий пользователь так что если можно можете расписать в скрипте как для чайника.

Отправлено: 23:15, 16-12-2009 | #684


Аватара для Winstan

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


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

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


Serega,
Все понял фишку происходит мили секундное появление и переходит на другую страницу. Но все же глаз человека их видит. Интервал больше ставишь происходит по стондарту, норм интервал где то коло 100 еще более мения махом мелькает.
Но все же если бы была возможность их отключить (то их бы отключили) и написать новую форму то другое дело а так значит не как.
Спасибо за вариант решения данной проблемы..

Отправлено: 23:38, 16-12-2009 | #685


Ветеран


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

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


Цитата R.i.m.s.k.y.:
при параметре /auto инсталлер не отсвечивал лишними окнами »
Пример
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

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

[Code]
function IsParamStr: Boolean;
var
  i: Integer;
  str: string;
begin
  Result:= False;
  for i:= 0 to ParamCount do
    str:= str + ParamStr(i);
  if Pos(Lowercase('/auto'), Lowercase(str)) > 0 then
  Result:= True;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  if (CurPageID > 0) and IsParamStr then
    WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;

Цитата R.i.m.s.k.y.:
но при параметре /auto в скрипте должны отрабатываться свои "ветки") »
Если где-то в коде, то if IsParamStr then - какое-то дествие...
Если выполнять или нет какие-то секции в скрипте, задавайте с помощью Check:
Код: Выделить весь код
[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Check: IsParamStr; Flags: ignoreversion
Цитата R.i.m.s.k.y.:
как можно в коде обработать выбор пользователя в Components? »
Пример
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

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

[Components]
Name: a; Description: Моя программа™; Types: full custom
Name: a\a; Description: Руководство пользователя; Types: full
Name: a\a\a; Description: Русский; Flags: exclusive
Name: a\a\b; Description: English; Flags: exclusive
Name: a\b; Description: Справка; Types: full

[Code]
procedure ClickCheck(Sender: TObject);
var
  msg: string;
begin
  msg:= 'Был клик по компоненту:' + #13#10;
  msg:= msg + 'Номер: ' + IntToStr(WizardForm.ComponentsList.ItemIndex) + #13#10;
  msg:= msg + 'Описание: ' + WizardForm.ComponentsList.ItemCaption[WizardForm.ComponentsList.ItemIndex];
  MsgBox(msg, mbInformation, MB_OK);
end;

procedure InitializeWizard();
begin
  WizardForm.ComponentsList.OnClickCheck:= @ClickCheck;
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

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

Отправлено: 00:14, 17-12-2009 | #686


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

Ветеран


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

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


Serega
Спасибо! Будем адаптировать

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


Отправлено: 09:49, 17-12-2009 | #687


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

Ветеран


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

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


Уже косметический вопрос - как увеличить размер окна выбора компонентов? Чтобы вместе с белым списком этих компонентов, окно то я растянул.

И заодно подскажите, как поменять текст на странице приветсвия? (самой первой после запуска экзешника)

Подозреваю, что ответит Serega, душевное ему спасибо!

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


Отправлено: 17:35, 17-12-2009 | #688


Аватара для YURSHAT

Старожил


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

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


Цитата R.i.m.s.k.y.:
И заодно подскажите, как поменять текст на странице приветсвия? »
WelcomeLabel1.Caption:= 'бла-бла-бла'
WelcomeLabel2.Caption:= 'бла-бла-бла'

или так

Код: Выделить весь код
WelcomeLabel2:=TLabel.Create(WizardForm); 
with WelcomeLabel2 do 
begin 
  Top:= ScaleY(270); 
  Left:= ScaleX(70); 
  Width:= ScaleX(650); 
  Height:= ScaleY(200); 
  AutoSize:= false; 
  WordWrap:= true; 
  Font.Name:= 'Georgia'; 
  Font.Size:= 11 
  Font.Style := [fsBold, fsItalic]; 
  Font.Color:=ClWhite; 
  Transparent:= true; 
  Parent:= WizardForm.WelcomePage; 
  Caption:= 'Отключите всю байду, чтоб игра нормально проинсталлилась'; 
end;

-------
Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше... В.И. Ленин
Krinkels.org - сжатие данных и создание инсталляторов

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

Отправлено: 17:41, 17-12-2009 | #689


Аватара для Молодой

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


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

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


Подскажите как реализовать вот такую установку

Заранее спасибо за ответ

-------
Да поможет мне CTRL + ALT + DELETE


Отправлено: 13:30, 18-12-2009 | #690



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Inno Setup .:[все вопросы]:. Mchik Автоматическая установка приложений 1329 23-08-2009 20:13
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход