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

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

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

Ветеран


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


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

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


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 908 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 806 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

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

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


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

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


Отправлено: 00:28, 04-11-2010

 

Аватара для Vamp1re

Пользователь


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

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


Лександер, я читал там есть прогресс бар но он мне почемуто ненравиться! особенно етот круг под линией прогресса

Отправлено: 21:15, 05-04-2011 | #1251



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

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


Ветеран


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

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


Как сделать чтобы установка ушла в левый угол экрана я просто не могу найти,и как сделать чтобы после установки устанавлевался директ и такое разное у меня что-то не получается

Последний раз редактировалось insombia, 05-04-2011 в 21:39.


Отправлено: 21:19, 05-04-2011 | #1252


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Цитата insombia:
Как сделать чтобы установка ушла в левый угол экрана »
Прогрессбар в маленьком окне В левом нижнем углу

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

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

Отправлено: 22:23, 05-04-2011 | #1253


Аватара для EvilAlex

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


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

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


Доброго времени суток форумчане !

Вы кнопки для инсталов сами делаете или же есть какая-то прога ?

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

Отправлено: 07:30, 06-04-2011 | #1254


Аватара для Krinkels

Пользователь


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

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


EvilAlex
Смотря какие кнопки ты имеешь ввиду. Если текстуры для кнопок то лучше рисовать самому, а если чисто кнопки то тут 2 варианта:
1. Руками
2. Воспользоваться компилятором от китайцев и там использовать редактор. Но опять же придется поработать ручками

-------
Рок моя честь, а моя честь моя жизнь. krinkels.org


Отправлено: 13:56, 06-04-2011 | #1255


Аватара для EvilAlex

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


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

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


Krinkels, понятно, спосиб .

Отправлено: 16:45, 06-04-2011 | #1256


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Подскажите пожалуйста, есть-ли команда, которая полностью отменить все изменнения, которые внесла процедура? например, процедура создает огромнейшую кучу лейбелов, чекбоксов, эдитов, а по нажатию кнопки все это убирается. на данный момент у меня для этого служит еще одна процедура, которая скрывает элементы, созданные предидущей процедурой. Вопрос - нельзя-ли это както оптимизировать?

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


Последний раз редактировалось Gnom_aka_Lexander, 07-04-2011 в 09:29.


Отправлено: 21:13, 06-04-2011 | #1257


Ветеран


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

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


Цитата Лександер:
какой командой завершить созданную процедуру? »
end;

P.S.
Какой вопрос - такой ответ...

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

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

Отправлено: 22:19, 06-04-2011 | #1258


Ветеран


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

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


Лександер, конечно для каждого случая нужно смотреть, но вот накидал, как пример:
Пример

Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.
Compression=lzma2/ultra
InternalCompressLevel=ultra
SolidCompression=yes

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

[Code]
var
  pnl: TPanel;

procedure CreateControl(const ParentControl: TWinControl);
// создаём все контролы
var
  i, lLeft, cLeft, aTop: Integer;
begin
  aTop := ScaleY(10);
  for i := 0 to 14 do
    begin
      with TLabel.Create(ParentControl) do
        begin
          Parent := ParentControl;
          AutoSize := True;
          Left := ScaleX(50);
          Top := aTop;
          Caption := 'TLabel № ' + IntToStr(i+1);
        end;
      with TCheckBox.Create(ParentControl) do
        begin
          Parent := ParentControl;
          SetBounds(ScaleX(200), aTop, ScaleX(100), ScaleY(14));
          Caption := 'TCheckBox № ' + IntToStr(i+1);
        end;
      with TEdit.Create(ParentControl) do
        begin
          Parent := ParentControl;
          SetBounds(ScaleX(350), aTop, ScaleX(100), ScaleY(20));
          Text := 'TEdit № ' + IntToStr(i+1);
        end;
      aTop := aTop + ScaleY(21);
    end;
end;

function DetectControl(const ParentControl: TWinControl): Boolean;
// проверяем наличие контролов
var
  i: Integer;
begin
  Result := False;
  for i := 0 to ParentControl.ControlCount-1 do
    if (ParentControl.Controls[i] is TLabel) or // проверяем, что контрол TLabel
      (ParentControl.Controls[i] is TCheckBox) or // проверяем, что контрол TCheckBox
      (ParentControl.Controls[i] is TEdit) then // проверяем, что контрол TEdit
      begin
        Result := True;
        Break;
      end;
end;

procedure ClearAllControl(const ParentControl: TWinControl);
// уничтожаем все контролы
var
  i: Integer;
begin
  { откровенно говоря с repeat..until ерись полнейшая... }
  repeat
    for i := 0 to ParentControl.ControlCount-1 do
      if (ParentControl.Controls[i] is TLabel) or // проверяем, что контрол TLabel
        (ParentControl.Controls[i] is TCheckBox) or // проверяем, что контрол TCheckBox
        (ParentControl.Controls[i] is TEdit) then // проверяем, что контрол TEdit
    { видимо какой-то глюк, но такое ощущение, что в этой процедуре не происходит задержки и
      цикл продолжается не дождавшись выполнения, в связи с чем некоторые контролы остаются }
          ParentControl.Controls[i].Free;
  until not DetectControl(ParentControl); // чтоб не зависнуть в цикле пришлось сделать доп. проверку
end;

procedure ButtonClick(Sender: TObject);
begin
  case TButton(Sender).Tag of
    0: CreateControl(pnl);
    1: ClearAllControl(pnl);
  end;
end;

procedure InitializeWizard();
var
  i, aLeft: Integer;
begin
  pnl := TPanel.Create(WizardForm);
  with pnl do
    begin
      Parent := WizardForm;
      Left := 0;
      Top := 0;
      Align := alClient;
    end;

  aLeft := ScaleX(100);
  for i := 0 to 1 do
    begin
      with TButton.Create(WizardForm) do
        begin
          Parent := pnl;
          SetBounds(aLeft, WizardForm.CancelButton.Top, ScaleX(150), ScaleY(23));
          case i of
            0: Caption := 'Создать все контролы';
            1: Caption := 'Разрушить все контролы';
          end;
          OnClick := @ButtonClick;
          Tag := i;
          aLeft :=  aLeft + ScaleX(160);
        end;
    end;
end;

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
  Confirm := False;
end;

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

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

Отправлено: 13:08, 07-04-2011 | #1259


Аватара для EvilAlex

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


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

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


Доброго времени суток !

Как зделать 3 разных кнопки в инстоляторе (Назад, Далее , Установить/Отмена/Завершить/выбор папок) ?

сами кнопки есть: http://rghost.ru/5110713 ...

вот если что скрипт: http://rghost.ru/5110569

вот что выдает инстал при запуске:


испробовал все что пришло на ум, помогите пожалуйсто .

если что: http://rghost.ru/5110611

Зарание благодарю .

P.S. Кнопки есть но они не подогнаны пока под инстал

Последний раз редактировалось EvilAlex, 07-04-2011 в 14:08.


Отправлено: 13:59, 07-04-2011 | #1260



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход