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

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

 

Аватара для nik1967

Старожил


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

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


Цитата Raf-9600:
Что-то там не так, ибо и под WinXP и под Win7 одно и то же описание =\ »
Правильно, ты сам просил версию OnlyBelowVersion: 0,6.0.5999 - я так и сделал. Чтобы определял Win7, нужно изменить строчку
Код: Выделить весь код
Result:= (Version.Major = 6) and (Version.Minor = 0) and (Version.Build = 5999);
на
Код: Выделить весь код
Result:= (Version.Major = 6) and (Version.Minor = 1);
Ибо
Код: Выделить весь код
Windows versions:

4.0.950    Windows 95 
4.0.1111   Windows 95 OSR 2 & OSR 2.1 
4.0.1212   Windows 95 OSR 2.5 
4.10.1998  Windows 98 
4.10.2222  Windows 98 Second Edition 
4.90.3000  Windows Me 

Windows NT versions:

4.0.1381   Windows NT 4.0 
5.0.2195   Windows 2000 
5.1.2600   Windows XP
or Windows XP 64-Bit Edition Version 2002 (Itanium) 
5.2.3790   Windows Server 2003
or Windows XP x64 Edition (AMD64/EM64T)
or Windows XP 64-Bit Edition Version 2003 (Itanium) 
6.0.6000   Windows Vista 
6.0.6001   Windows Vista with Service Pack 1
or Windows Server 2008 
6.1.7600   Windows 7
or Windows Server 2008 R2 
6.1.7601   Windows 7 with Service Pack 1
or Windows Server 2008 R2 with Service Pack 1 
6.2.8102   Windows 8 Developer Preview

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".


Последний раз редактировалось nik1967, 19-06-2012 в 13:06.

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

Отправлено: 12:57, 19-06-2012 | #281



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

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


Аватара для Ivan_009

Ветеран


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

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


Как сделать данную область прозрачной, чтобы был только текст... Заранее спасибо за помощь...

Последний раз редактировалось Ivan_009, 11-08-2012 в 07:16.


Отправлено: 11:34, 20-06-2012 | #282


Аватара для Johny777

Ветеран


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

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


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

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

вот пример:
сделал при наведении, но не уверен что работает
о вот с "поставить/снять" галку вроде всё в порядке!
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program

[ code]
var
  Label1: TLabel;
  Label_CheckBox: TNewCheckBox;

procedure LabelOnEnter(Sender: TObject);
begin
  Label_CheckBox.OnEnter;
end;

procedure LabelOnClick(Sender: TObject);
begin
  if Label_CheckBox.Checked = True then
  begin
    Label_CheckBox.Checked := False;
    Exit;
  end;
  
  if Label_CheckBox.Checked = False then
  begin
    Label_CheckBox.Checked := True;
    Exit;
  end;
end;


procedure InitializeWizard();
begin

  { Label1 }
  Label1 := TLabel.Create(WizardForm);
  with Label1 do
  begin
    Parent := WizardForm;
    Caption := 'название чекбокса';
    Transparent := True;
    OnClick := @LabelOnClick;
    OnMouseEnter := @LabelOnEnter;
    SetBounds(ScaleX(56),ScaleY(332),ScaleX(96),ScaleY(13));
  end;

  with WizardForm.WizardBitmapImage do
  begin
    Parent := WizardForm;
  end;

  { Label_CheckBox }
  Label_CheckBox := TNewCheckBox.Create(WizardForm);
  with Label_CheckBox do
  begin
    Parent := WizardForm;
    SetBounds(ScaleX(40),ScaleY(328),ScaleX(17),ScaleY(17));
    Caption := '';
  end;
  
end;

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

Последний раз редактировалось Johny777, 20-06-2012 в 14:14.

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

Отправлено: 12:41, 20-06-2012 | #283


Аватара для Ivan_009

Ветеран


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

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


Johny777, А это как убрать

Последний раз редактировалось Ivan_009, 11-08-2012 в 07:16.


Отправлено: 13:16, 20-06-2012 | #284


Аватара для nik1967

Старожил


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

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


Ivan_009, уменьши размеры чекбокса.

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

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

Отправлено: 13:30, 20-06-2012 | #285


Аватара для Johny777

Ветеран


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

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


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


читать дальше »

Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program

[ code]
var
  Label_CheckBox: TNewCheckBox;


procedure LabelOnClick(Sender: TObject);
begin
  case Label_CheckBox.Checked of
    False:
      begin
        Label_CheckBox.Checked := True;
        Exit;
      end;
    True:
      begin
        Label_CheckBox.Checked := False;
        Exit;
      end;
  end;
end;


procedure InitializeWizard();
begin

  with WizardForm do
  begin
    OuterNotebook.Hide
    with WizardBitmapImage do
    begin
      Parent := WizardForm;
      Align := alClient;
      Stretch := True
    end;
  end;

  Label_CheckBox := TNewCheckBox.Create(WizardForm);
  with Label_CheckBox do
  begin
    Parent := WizardForm;
    SetBounds(ScaleX(40),ScaleY(328),ScaleX(12),ScaleY(12));
    Caption := '';
  end;

  with TLabel.Create(WizardForm) do
  begin
    Parent := WizardForm;
    Caption := 'название чекбокса';
    Transparent := True;
    OnClick := @LabelOnClick;
    SetBounds(Label_CheckBox.Left + Label_CheckBox.Width + ScaleX(4),Label_CheckBox.Top - ScaleY(1),ScaleX(96),ScaleY(12));
    Font.Color := clWhite;
  end;
  
end;

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


если несколько чкебоксов с неименными лейблами, то используй Tag := у лейблов

Последний раз редактировалось Johny777, 20-06-2012 в 20:13.

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

Отправлено: 14:02, 20-06-2012 | #286


Аватара для Ivan_009

Ветеран


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

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


Johny777, У меня вопрос а почему при выделении установить дополнительное ПО при отказе установки все равно оно устанавливается.... Код:

Последний раз редактировалось Ivan_009, 11-08-2012 в 07:16.


Отправлено: 14:22, 20-06-2012 | #287


Аватара для Johny777

Ветеран


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

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


У тебя Ваня, насколько я вижу всё правильно
чекбокс точно не отмечен?
меня только смущает, что на шаге на котором ПО ставится отмену нажать нельзя (если только ты не юзаешь всякие библиотеки или коды, чтоб можно было)
вижу незнакомый мне IsDoneUnpack(CurStep)
может его тоже нужно отменять в процедуре отмены, чтоб до него не доходило
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:30, 20-06-2012 | #288


Аватара для Ivan_009

Ветеран


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

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


Johny777, IsDoneUnpack(CurStep) это от IsDone код.... Можно как нибудь переделать...

Последний раз редактировалось Ivan_009, 11-08-2012 в 07:16.


Отправлено: 16:21, 20-06-2012 | #289


Аватара для nik1967

Старожил


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

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


Цитата Ivan_009:
почему при выделении установить дополнительное ПО при отказе установки все равно оно устанавливается »
Попробуй так
Код: Выделить весь код
If Label_CheckBox.Checked and not CheckError then begin

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

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

Отправлено: 19:25, 20-06-2012 | #290



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




 
Переход