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

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

 

Аватара для habib2302

Ветеран


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

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


Цитата Sotonisto:
такой мешанины из скриптов я еще ни разу не видел »
согласен.
Uragan66, лучше разбить каждую секцию на скрипты, а потом поудалять дублирующие строки софтиной Beyond Compare 4 или через сайт (пример прикрепил)

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


Последний раз редактировалось habib2302, 15-04-2019 в 12:19.

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

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



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

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


Старожил


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

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


Sotonisto, согласен, смесь еще та... Но я первый раз работаю с Inno Setup, так что не судите строго А секций дублирующих почему много ? отдельные скрипты собирал Join Skripts, вот так и получилось. У меня компилируется нормально и работает тоже, но "сижу" в основном на ХР -ке, а потом проверил на 8.1 x-64 там вообще нет картинок, задействованных в секции MUI_InstallShield и в скине кнопки обычные, непонятно почему. Если у вас получиться проверить и исправить ошибки буду премного благодарен

habib2302, спасибо , попробую...

Цитата habib2302:
или через сайт (пример прикрепил) »
Не могу зайти на него, нет соединения... Попробую Beyond Compare 4

Отправлено: 10:18, 18-07-2015 | #812


Аватара для habib2302

Ветеран


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

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


Цитата El Sanchez:
А вот если запускать из секции Code »
и как?

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


Отправлено: 15:59, 18-07-2015 | #813


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


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

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


как сделать так что бы инсталлятор запускался от админа, в setup поставил PrivilegesRequired=admin но не помогает

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


Аватара для kotyarko@fb

Старожил


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

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


Цитата habib2302:
и как? »
Цитата El Sanchez:
А вот если запускать из секции Code при помощи Exec »

-------
http://forum.worldoftanks.ru/topic/1429925-/
Исходник моего установщика: https://bitbucket.org/Kotyarko_O/kmp


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


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


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

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


Цитата habib2302:
не помогло »
ну тогда вроде больше никак, я тоже раньше писал про это, сказали что нет

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


Аватара для habib2302

Ветеран


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

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


kotyarko@fb, и как?

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


Отправлено: 09:57, 22-07-2015 | #817


Старожил


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

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


Всем привет ! Возник вопрос как на страницу выбора компонентов добавить кнопку с запуском программы ( это каталог html, но сделанный в формате exe ) Буду благодарен за помощь.

Отправлено: 10:27, 22-07-2015 | #818


Аватара для kotyarko@fb

Старожил


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

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


Цитата habib2302:
и как? »
Ну блин, ну я же всё нужное процитировал.. Используй Exec.

Цитата Uragan66:
Возник вопрос как на страницу выбора компонентов добавить кнопку с запуском программы ( это каталог html, но сделанный в формате exe ) »
Примерно так:
Код: Выделить весь код
Var
 ExecButton: TNewButton;

Procedure ExecButtonOnClick(Sender: TObject);
var
 ResCode: Integer;
begin
 Exec(ExpandConstant('ПУТЬ_К_ФАЙЛУ'), '', '', SW_SHOW, ewNoWait, ResCode);
end;

Procedure InitializeWizard();
begin
 ExecButton := TNewButton.Create(WizardForm);
 with ExecButton do
 begin
  Parent := WizardForm;
  SetBounds(ScaleX(50), ScaleY(WizardForm.ComponentsList.Height + 20), ScaleX(30), ScaleY(15));
  Caption := 'Запуск';
  OnClick := @ExecButtonOnClick;
 end;
end;

Procedure CurPageChanged(CurPageID: Integer);
begin
 ExecButton.Hide;
 case CurPageID of
  wpSelectComponents: ExecButton.Show;
 end;
end;

-------
http://forum.worldoftanks.ru/topic/1429925-/
Исходник моего установщика: https://bitbucket.org/Kotyarko_O/kmp

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

Отправлено: 11:48, 22-07-2015 | #819


Старожил


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

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


Вложения
Тип файла: zip Catalog.zip
(424.2 Kb, 18 просмотров)

kotyarko@fb, Спасибо большое за код , но на дефолтной странице Inno он работает, а когда добавляю на свою страницу нажатие на кнопку ничего не дает
код
[code]
Код: Выделить весь код
type
  TComponentDesc = record
    Description: String;
    ImageName: String;
    Index: Integer;
  end;

var
  CompDescs: array of TComponentDesc;
  CompDescPanel, CompDescImgPanel: TPanel;
  CompDescText: array[1..2] of TLabel;
  CompIndex, LastIndex: Integer;
  CompDescImg: TBitmapImage;
  ExecButton: TNewButton;

Procedure ExecButtonOnClick(Sender: TObject);
var
 ResCode: Integer;
begin
 Exec(ExpandConstant('Catalog.exe'), '', '', SW_SHOW, ewNoWait, ResCode);
end;

procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea);
var
  i: Integer;
begin
  if Index = LastIndex then Exit;
  CompIndex := -1;
  for i := 0 to GetArrayLength(CompDescs) -1 do
  begin
    if (CompDescs[i].Index = Index) then
    begin
      CompIndex := i;
      Break;
    end;
  end;
  if (CompIndex >= 0) and (Area = iaItem) then
  begin
    if not FileExists(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName) then
      ExtractTemporaryFile(CompDescs[CompIndex].ImageName);
    CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName);
    CompDescImg.Show;

    CompDescText[2].Caption := CompDescs[CompIndex].Description;
    CompDescText[2].Enabled := True;
  end else
  begin
    CompDescText[2].Caption := CustomMessage('ComponentsInfo');
    CompDescText[2].Enabled := False;
    CompDescImg.Hide;
  end;
  LastIndex := Index;
end;

procedure CompListMouseLeave(Sender: TObject);
begin
  CompDescImg.Hide;
  CompDescText[2].Caption := CustomMessage('ComponentsInfo');
  CompDescText[2].Enabled := False;
  LastIndex := -1;
end;

procedure AddCompDescription(AIndex: Integer; ADescription: String; AImageName: String);
var
  i: Integer;
begin
  i := GetArrayLength(CompDescs);
  SetArrayLength(CompDescs, i + 1);
  CompDescs[i].Description := ADescription;
  CompDescs[i].ImageName := AImageName;
  CompDescs[i].Index := AIndex - 1
end;

procedure InitializeWizard();
begin
 ExecButton := TNewButton.Create(WizardForm);
 with ExecButton do
 begin
  Parent := WizardForm;
  SetBounds(ScaleX(89), ScaleY(WizardForm.ComponentsList.Height + 105), ScaleX(60), ScaleY(22));
  Caption := 'Каталог';
  OnClick := @ExecButtonOnClick;
begin
  WizardForm.SelectComponentsLabel.Hide;
  WizardForm.TypesCombo.Hide;
  WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(0), ScaleX(160), ScaleY(185));
  WizardForm.ComponentsList.Color := $00ffffff;
  WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription;
  WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave;

  CompDescImgPanel := TPanel.Create(WizardForm);
  with CompDescImgPanel do
  begin
    Parent := WizardForm.SelectComponentsPage;
    SetBounds(ScaleX(180), ScaleY(0), ScaleX(225), ScaleY(120));
    BevelInner := bvLowered;
  end;
  end;
end;
  CompDescText[1] := TLabel.Create(WizardForm);
  with CompDescText[1] do
  begin
    Parent := CompDescImgPanel;
    SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10));
    AutoSize := False;
    WordWrap := True;
    Enabled := False;
    Caption := CustomMessage('ComponentsImgInfo');
  end;

  CompDescImg := TBitmapImage.Create(WizardForm);
  with CompDescImg do
  begin
    Parent := CompDescImgPanel;
    SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10));
    Stretch := True;
    Hide;
  end;

  CompDescPanel := TPanel.Create(WizardForm);
  with CompDescPanel do
  begin
    Parent := WizardForm.SelectComponentsPage;
    SetBounds(ScaleX(180), ScaleY(125), ScaleX(225), ScaleY(80));
    BevelInner := bvLowered;
  end;

  CompDescText[2] := TLabel.Create(WizardForm);
  with CompDescText[2] do
  begin
    Parent := CompDescPanel;
    SetBounds(ScaleX(5), ScaleY(5), CompDescPanel.Width - ScaleX(10), CompDescPanel.Height - ScaleY(10));
    AutoSize := False;
    WordWrap := True;
    Enabled := False;
    Caption := CustomMessage('ComponentsInfo');
    Font.Color := clActiveCaption;
  end;

  AddCompDescription(1, CustomMessage('CompDesc1'), 'CompDescImg1.bmp');
  AddCompDescription(2, CustomMessage('CompDesc2'), 'CompDescImg2.bmp');
  end;
Procedure CurPageChanged(CurPageID: Integer);
begin
 ExecButton.Hide;
 case CurPageID of
  wpSelectComponents: ExecButton.Show;
 end;
end;

Отправлено: 16:04, 22-07-2015 | #820



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




 
Переход