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

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

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

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

Ветеран


Contributor


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


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

Профиль | Отправить 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] - Скачать;

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



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

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

Отправлено: 11:48, 10-03-2014

 

Ветеран


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

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


ROMKA-1977, Мои документы на деле и есть Documents
"Мои документы" просто обертка ссылки в проводнике на X:\Users\user_name\Documents

Последний раз редактировалось saurn, 10-11-2014 в 10:27.


Отправлено: 10:22, 10-11-2014 | #1921



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

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


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


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

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


Всем доброго дня!
Есть такая проблемка. Если у инсталлятора выставлена директива AlwaysRestart=yes, то чекбоксы секции Run с флагом postinstall (запускающие приложения после работы инсталлятора) перестают выводиться. Пыталась приколхозить такую галку руками
примерно так
Код: Выделить весь код
procedure InitializeWizard;
 begin  
  ConfCheckBox:=TNewCheckBox.Create(PageFromId(wpFinished));
  ConfCheckBox.parent:= PageFromId(wpFinished).surface;
  ConfCheckBox.top:=WizardForm.NoRadio.top + WizardForm.NoRadio.height + ScaleY(15);
  ConfCheckBox.left:=WizardForm.NoRadio.left;
  ConfCheckBox.caption:=ExpandConstant('{cm:runconf}');
  ConfCheckBox.checked:=false;
  WizardForm.NoRadio.onclick:=@RestartRadioOnClick; // чтобы галка дизейблилась,
  WizardForm.YesRadio.onclick:=@RestartRadioOnClick; // если выбрана перезагрузка
  WizardForm.NoRadio.checked:=true;
 end;

//запускать пыталась так
procedure CurStepChanged(CurStep: TSetupStep);
var i:integer;
begin
 case CurStep of
    ssDone:
    begin
     if  ConfCheckBox.checked then 
       Exec(ExpandConstant('{app}')+'\bin\Configurator.exe', '', '', SW_HIDE, ewNoWait, i);
    end;
 end;
end;

Но оно не работает. Подскажите плиз, есть ли какая настройка для галок postinstall в случае наличия директивы на промпт перезагрузки. Или если нет, то может как-то можно поправить мой код или еще как-то по-другому реализовать такую галку с запуском программы из кода?
UPD. Оказалось, все работает и проблема была в ошибке в имени файла

Последний раз редактировалось Shkutu, 10-11-2014 в 14:35.


Отправлено: 14:08, 10-11-2014 | #1922


Аватара для ROMKA-1977

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


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

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


Цитата saurn:
Мои документы на деле и есть Documents
"Мои документы" просто обертка ссылки в проводнике на X:\Users\user_name\Documents »
Так и есть, но в некоторых играх некоректно работают сохранёнки если в локалке папка Documents отображается как Мои документы,
приходится в ручную переименовывать отображаемое имя папки.

Последний раз редактировалось ROMKA-1977, 10-11-2014 в 15:00.


Отправлено: 14:51, 10-11-2014 | #1923


Ветеран


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

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


Shkutu, до кучи
Скрытый текст
Код: Выделить весь код
[Code]
var
    runCheckBox: TCheckBox;


procedure RunListClick( Sender: TObject );
begin
    case TRadioButton( Sender ).Caption of
        SetupMessage( msgYesRadio ): runCheckBox.Checked := False;
        SetupMessage( msgNoRadio ): runCheckBox.Checked := True;
    end;
end;


procedure RunCheckBoxClick( Sender: TObject );
begin
    if TCheckBox( Sender ).Checked then
      WizardForm.ActiveControl := WizardForm.NoRadio;
end;


procedure InitializeWizard;
begin
    with WizardForm.RunList do
      Height := ItemRect( ItemIndex ).Bottom;

    WizardForm.YesRadio.OnClick := @RunListClick;
    WizardForm.NoRadio.OnClick := @RunListClick;

    runCheckBox := TCheckBox.Create( nil );
    with runCheckBox do
    begin
        Parent := WizardForm.FinishedPage;
        Left := WizardForm.RunList.Left;
        Top := WizardForm.RunList.Top + WizardForm.RunList.Height + ScaleY( 10 );
        Width := WizardForm.RunList.Width;
        Caption := 'Запустить чето там';
        OnClick := @RunCheckBoxClick;
    end;
end;


procedure CurStepChanged( CurStep: TSetupStep );
var
    eRR: Integer;
begin
    case CurStep of
        ssDone: if runCheckBox.checked then
          Exec( ExpandConstant( '{sys}\calc.exe' ), '', '', SW_SHOW, ewNoWait, eRR );
    end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:31, 10-11-2014 | #1924


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


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

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


помогите прикрутить кликабельное лого в углы, код сам я нашел, но вот прикрутить не получается( инсталл запускается, он не более, кликабельного лого я не обнаруживаю
http://rghost.ru/58995455

Отправлено: 20:02, 10-11-2014 | #1925


Аватара для Dodakaedr

Ветеран


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

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


Цитата Tixo:
помогите прикрутить кликабельное лого в углы, »
Было бы не плохо приложить все необходимые файлы для работы вашего скрипта.

-------
Inno Setup 5 Ultra Unicode


Отправлено: 21:39, 10-11-2014 | #1926


Аватара для diman_21Ru

Старожил


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

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


Какой самый простой способ добавление всплывчатой картинки и с затуханием

Отправлено: 21:44, 10-11-2014 | #1927


Аватара для Dodakaedr

Ветеран


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

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


Цитата diman_21Ru:
Какой самый простой способ добавление всплывчатой картинки и с затуханием »
Добавление куда? Типа сплэша?

-------
Inno Setup 5 Ultra Unicode


Отправлено: 21:46, 10-11-2014 | #1928


Аватара для diman_21Ru

Старожил


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

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


Dodakaedr, да

Отправлено: 21:59, 10-11-2014 | #1929


Аватара для Dodakaedr

Ветеран


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

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


Вложения
Тип файла: rar Сплэш.rar
(159.7 Kb, 29 просмотров)

Цитата Dodakaedr:
Типа сплэша? »
Цитата Tixo:
помогите прикрутить кликабельное лого »
Попробуйте так:
Кликабельное лого
Код: Выделить весь код
[Setup]
AppName=My program
VersionInfoVersion=5.0
AppVerName=My program
DefaultDirName={pf}\My program
DefaultGroupName=My program
OutputDir=.

[Files]
Source: {win}\help\*; DestDir: {app}\Files; Flags: external recursesubdirs createallsubdirs;

[code]
var
  Label1: TLabel;

procedure btnOnClick(Sender: TObject);
var
 rcode: integer;
begin
    ShellExec('open','http://forum.oszone.net/thread-278998-193.html','', '', SW_SHOW, ewNoWait, rCode);
end;

procedure btnOnClick2(Sender: TObject);
begin
    Label1.Font.Color := clred;
end;

procedure btnOnClick3(Sender: TObject);
begin
    Label1.Font.Color := clBlue;
end;

procedure InitializeWizard();
begin
  Label1 := TLabel.Create(WizardForm);
  with Label1 do
  begin
    Parent := WizardForm;
    Cursor := crHand;
    Caption := 'OSZONE.NET';
    Font.Color := clBlue;
    Font.Height := -16;
    Font.Name := 'Tahoma';
    Font.Style := [fsUnderline];
    ParentFont := False;
    Transparent := True;
    OnClick := @btnOnClick;
    OnMouseEnter := @btnOnClick2;
    OnMouseLeave := @btnOnClick3;
    Left := ScaleX(8);
    Top := ScaleY(327);
    Width := ScaleX(153);
    Height := ScaleY(19);
  end;
end;

Кликабельное лого через изображение


Код: Выделить весь код
#define Bitmap "Logo.bmp"

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.

[Files]
Source: {#Bitmap}; Flags: dontcopy solidbreak

[Code]
var
  Panel1: TPanel;
  BitmapImage1: TBitmapImage;
  
procedure Panel1Click(Sender: TObject);
var
 EC: integer;
begin
  ShellExec('open', 'http://forum.oszone.net/', '', '', SW_SHOWNORMAL, ewNoWait, EC);
end;

procedure InitializeWizard();
begin
  Panel1 := TPanel.Create(WizardForm);
  with Panel1 do
  begin
    Parent := WizardForm;
    Left := ScaleX(16);
    Top := ScaleY(318);
    Width := ScaleX(185);
    Height := ScaleY(41);
  end;

  BitmapImage1 := TBitmapImage.Create(WizardForm);
  with BitmapImage1 do
  begin
    Parent := Panel1;
    Left := ScaleX(4);
    Top := ScaleY(4);
    Width := ScaleX(178);
    Height := ScaleY(34);
    Cursor := crHand;
    OnClick := @Panel1Click;
    ExtractTemporaryFile('{#Bitmap}');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\{#Bitmap}'));
  end;
end;
положите рядом с скриптом файлик Logo.bmp (178х34)

-------
Inno Setup 5 Ultra Unicode


Последний раз редактировалось Dodakaedr, 11-11-2014 в 21:05.

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

Отправлено: 22:20, 10-11-2014 | #1930



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34




 
Переход