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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 22-10-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] - Скачать;

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Скрипты Inno Setup. Помощь и советы [часть 6]
Скрипты Inno Setup. Помощь и советы [часть 7]

Отправлено: 08:52, 02-02-2015

 

Аватара для Sotonisto

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


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

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


Uragan66, вы забыли раскомментировать строку BtnPanel.OnClick:=@logoOnClick в процедуре создания лого.

-------
Большой шаг вперед, как правило, следствие хорошего пинка под зад.


Отправлено: 09:08, 17-07-2015 | #801



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

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


Старожил


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

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


Sotonisto, Спасибо большое за помощь, но когда раскомментирую эту строку компилятор не находит идентификатора logoOnClick.

Отправлено: 15:25, 17-07-2015 | #802


Аватара для Sotonisto

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


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

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


Цитата Uragan66:
не находит идентификатора »
Извините, я не сразу заметил, что у вас процедура LogoOnClick расположена после процедуры LogoImage, хотя должна находится перед ней.
Скрипт
Код: Выделить весь код
procedure iswin7_add_glass(Handle:HWND; Left, Top, Right, Bottom : Integer; GDIPLoadMode: boolean);external 'iswin7_add_glass@files:iswin7.dll stdcall';
procedure iswin7_add_button(Handle:HWND);external 'iswin7_add_button@files:iswin7.dll stdcall';
procedure iswin7_free;external 'iswin7_free@files:iswin7.dll stdcall';

// функция проверки того, сработает iswin7, или нет
function GlassEnabled:Boolean;external 'GlassEnabled@files:dwmEnabled.dll stdcall';

procedure LogoOnClick(Sender: TObject);
var
  ErrorCode: Integer;
begin
  ShellExec('open', 'http://www.google.com/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

// Сделал отдельную процедуру создания лого,чтоб удобно было - вызываем и указываем размеры
procedure LogoImage(ImgLeft,ImgTop,ImgWidth,ImgHeight:Integer);
var BtnPanel:TPanel;
begin
ExtractTemporaryFile('gnom.bmp');
//-----------start----------LOGO-----------//
     BtnPanel:=TPanel.Create(WizardForm)
     BtnPanel.SetBounds(ImgLeft,ImgTop,ImgWidth,ImgHeight);
     BtnPanel.Cursor:=crHand
     BtnPanel.ParentColor := True;
     BtnPanel.OnClick:=@LogoOnClick
     BtnPanel.Parent:=WizardForm

 with TBitmapImage.Create(WizardForm) do
  begin
    Parent := BtnPanel;
    SetBounds(0,0,BtnPanel.Width,BtnPanel.Height);
    // Собственно, применение
    if GlassEnabled then BackColor := BtnPanel.Color else BackColor := clNone;
    
    ReplaceColor := clBlack; // это обязательно
    ReplaceWithColor := clNone;
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\gnom.bmp'));
  end;
end;

procedure InitializeWizard16();
begin
    if GlassEnabled then WizardForm.WelcomeLabel2.Caption:='Включено' else  WizardForm.WelcomeLabel2.Caption:='Выключено';
  // Необходимо добавлять каждую кнопку расположенную на стекле
  // до инициализации стекла для того что бы не было дыр ))
  iswin7_add_button(WizardForm.BackButton.Handle);
  iswin7_add_button(WizardForm.NextButton.Handle);
  iswin7_add_button(WizardForm.CancelButton.Handle);
  // Параметр True не трогать он для htuos ))
  iswin7_add_glass(WizardForm.Handle, 0, 0, 0, 47, True);

// Вызываем лого, и говорим ему координаты.
 LogoImage(ScaleX(618),ScaleY(0),ScaleX(69),ScaleY(50));
end;

procedure DeinitializeSetup11();
begin
  iswin7_free;
end;

-------
Большой шаг вперед, как правило, следствие хорошего пинка под зад.

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

Отправлено: 15:45, 17-07-2015 | #803


Старожил


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

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


Sotonisto, спасибо. Но не хочет работать . Установщик компилируется нормально, но ссылки не работают, то есть клик на лого ничего не дает... Хотя вот
скрипт
Код: Выделить весь код
procedure LogoOnClick(Sender: TObject);
var ResCode: Integer;
begin
  ShellExec('', 'http://www.forum.ru-board.com', '' , '', SW_SHOW, ewNoWait, ResCode)
end;

procedure InitializeWizard();
var
  BtnPanel: TPanel;
  BtnImage: TBitmapImage;
begin
  ExtractTemporaryFile('Button.bmp')
  
  BtnPanel:=TPanel.Create(WizardForm)
  with BtnPanel do begin
    Left:=320
    Top:=100
    Width:=132
    Height:=27
    Cursor:=crHand
    OnClick:=@logoOnClick
    Parent:=WizardForm
     end;
  BtnImage:=TBitmapImage.Create(WizardForm)
  with BtnImage do begin
    AutoSize:=True;
    Enabled:=False;
    Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\Button.bmp')
    Parent:=BtnPanel
  end;
 end;
с такой же функцией и в нем все работает... Но в нем нет прозрачности

Отправлено: 16:31, 17-07-2015 | #804


Аватара для Sotonisto

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


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

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


Uragan66, в каком смысле нет прозрачности?
К слову, желательно увидеть весь скрипт, а еще лучше - архив со всеми файлами (для полноты картины). Исправлять ошибки вслепую - напрасная трата времени

-------
Большой шаг вперед, как правило, следствие хорошего пинка под зад.


Отправлено: 17:43, 17-07-2015 | #805


Старожил


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

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


Sotonisto, в том скрипте нельзя поставить лого на MAINPANEL. Прикрепил архив, но еще не полностью сделано, много недоработок, посмотрите, пожалуйста, если есть время...

Последний раз редактировалось Uragan66, 22-07-2015 в 15:59.


Отправлено: 18:20, 17-07-2015 | #806


Аватара для habib2302

Ветеран


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

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


как убрать PreparingPage перед распаковкой портативной версии

-------
Помог? От "Полезное сообщение" не откажусь!!!


Отправлено: 20:06, 17-07-2015 | #807


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


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

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


Цитата habib2302:
как убрать PreparingPage перед распаковкой портативной версии »
не?
Код: Выделить весь код
function ShouldSkipPage(PageID: Integer): Boolean;
begin
  if PageID = wpPreparing then Result:= True;
end;
или
Код: Выделить весь код
procedure CurPageChanged(CurPageID: Integer);
begin
If CurPageID= wpPreparing then
begin
SendMessage(WizardForm.NEXTBUTTON.Handle, 513, 0, 0)
SendMessage(WizardForm.NEXTBUTTON.Handle, 514, 0, 0)
end;
end;

Отправлено: 03:21, 18-07-2015 | #808


Аватара для habib2302

Ветеран


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

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


ekspoint, не помогло

-------
Помог? От "Полезное сообщение" не откажусь!!!


Последний раз редактировалось habib2302, 18-07-2015 в 15:40.


Отправлено: 08:55, 18-07-2015 | #809


Аватара для Sotonisto

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


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

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


Uragan66, мне не удалось проверить скрипт на работоспособность т.к. использую ANSI версию IS.
Пробежался глазами по коду и признаюсь, такой мешанины из скриптов я еще ни разу не видел (не в обиду). Я понимаю, что вы сами их писали и прекрасно знаете что и где, но 9 секций [Setup], 5 [Files] и 2 [Languages] (дублирующие друг друга) в одном скрипте - как по мне, так это перебор Для меня уже странно то, что они вообще у вас работают
Сейчас попытаюсь его пересобрать "под себя", потом отпишусь получилось или нет.

-------
Большой шаг вперед, как правило, следствие хорошего пинка под зад.

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

Отправлено: 09:40, 18-07-2015 | #810



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 7] El Sanchez Автоматическая установка приложений 2499 02-02-2015 08:59
Скрипты Inno Setup. Помощь и советы [часть 6] El Sanchez Автоматическая установка приложений 2494 10-03-2014 11:51
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58




 
Переход