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

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

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

Аватара для 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] - Скачать;


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

Отправлено: 03:49, 21-05-2012

 

Аватара для Ivan_009

Ветеран


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

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


Изображения
Тип файла: jpg Снимок.JPG
(30.3 Kb, 55 просмотров)

Как сделать такие края через ботву...Если можно пример...Заранее спасибо...

Отправлено: 10:42, 15-09-2012 | #931



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

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


Аватара для nik1967

Старожил


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

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


Цитата Ivan_009:
Как сделать такие края в инсталляторе без ботвы..... »
Цитата Ivan_009:
Как сделать такие края через ботву.. »
Чё, издеваешься? http://forum.oszone.net/post-1972601.html#post1972601 Какая фиг разница - с ботвой, без ботвы...

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

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

Отправлено: 11:13, 15-09-2012 | #932


Аватара для Ivan_009

Ветеран


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

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


nik1967, мне нужно чтобы с прозрачностью...

Отправлено: 12:19, 15-09-2012 | #933


Аватара для Ivan_009

Ветеран


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

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


Изображения
Тип файла: jpg Снимок.JPG
(58.2 Kb, 16 просмотров)

Как текструировать кнопку при нажатии на которую появлялся логотип png...

Отправлено: 12:47, 15-09-2012 | #934


Старожил


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

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


помогите дописать пожалуйста действие к нопкам Ok и Back
читать дальше »
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application


[code]
var
BrowseDialogTitle,BrowseDialogTitle1,BrowseDialogLabel:Tlabel;
DirBrowseSetting: TButton;
DirBrowseSettingPage, SetParameters: Boolean;
Edit: TNewEdit;
DirTreeView : TFolderTreeView;
Browse, OK, NO, back, new : TButton;

MainPanelBig1,MainPanelBig2: TPanel;
MainPanelBigBevel,BevelForm,BevelForm1,BevelForm2: TBevel;


procedure Okclick(Sender: TObject);
begin
//WizardForm.Enabled:=True;
WizardForm.DirEdit.Text:=AddBackslash(Edit.Text);
end;

procedure BackClick(Sender: TObject);
begin
Edit.Text:=AddBackslash(ExpandConstant('{pf}\')+'My Application');
DirTreeView.ChangeDirectory(AddBackslash(ExpandConstant('{pf}\')), True);
end;

procedure NOclick(Sender: TObject);
begin
WizardForm.Enabled:=true;
end;


procedure DirFolderChange(Sender: TObject);
Begin
Edit.Text:=AddBackslash(DirTreeView.Directory) + 'My Application';
end;

procedure FormClose(Sender: TObject; var Action: TCloseAction);
begin
WizardForm.Enabled:=true;
end;

procedure DirBrowseSettingOnClick(Sender: TObject);
begin
if DirBrowseSettingPage = False then begin
DirBrowseSetting.Hide;
WizardForm.NextButton.Hide;

BrowseDialogTitle := TLabel.Create(WizardForm);
BrowseDialogTitle.SetBounds(ScaleX(19),ScaleY(5),ScaleX(135),ScaleY(16));
BrowseDialogTitle.Font.Style:=[fsBold];
BrowseDialogTitle.Font.Size:= 10;
BrowseDialogTitle.Transparent := True;
BrowseDialogTitle.Parent := WizardForm;
BrowseDialogTitle.Caption := 'Обзор папок';
BrowseDialogTitle.Font.Name := 'Tahoma';
BrowseDialogTitle.Font.Height := -13;

BrowseDialogTitle1 := TLabel.Create(WizardForm);
BrowseDialogTitle1.SetBounds(ScaleX(30),ScaleY(25),ScaleX(365),ScaleY(13));
BrowseDialogTitle1.Transparent := True;
BrowseDialogTitle1.Parent := WizardForm;
BrowseDialogTitle1.Caption := 'В какую папку Вы хотите установить игру?';

MainPanelBig1 := TPanel.Create(WizardForm);
MainPanelBig1.Parent := WizardForm;
MainPanelBig1.SetBounds(ScaleX(20),ScaleY(69),ScaleX(541),ScaleY(261));
MainPanelBig1.Caption := '';

MainPanelBig2 := TPanel.Create(WizardForm);
MainPanelBig2.Parent := MainPanelBig1;
MainPanelBig2.SetBounds(ScaleX(10),ScaleY(11),ScaleX(520),ScaleY(239));
MainPanelBig2.BevelOuter := bvLowered;
MainPanelBig2.Caption := '';

MainPanelBigBevel := TBevel.Create(WizardForm);
MainPanelBigBevel.Style := bsRaised;
MainPanelBigBevel.Parent := MainPanelBig2;
MainPanelBigBevel.SetBounds(ScaleX(9),ScaleY(10),ScaleX(500),ScaleY(220));

Edit:= TNewEdit.Create(WizardForm);
Edit.SetBounds(ScaleX(20),ScaleY(20),ScaleX(480),ScaleY(21));
Edit.Text:=WizardForm.DirEdit.text;
Edit.Parent:= MainPanelBig2;
Edit.Font.Color:=clBlack;

DirTreeView:= TFolderTreeView.Create(WizardForm);
DirTreeView.SetBounds(ScaleX(20),ScaleY(50),ScaleX(480),ScaleY(170));
DirTreeView.OnChange:=@DirFolderChange;
DirTreeView.Parent:=MainPanelBig2;

DirTreeView.ChangeDirectory(AddBackslash(WizardForm.dirEdit.Text), true);
Edit.Text:=(DirTreeView.Directory);

BrowseDialogLabel := TLabel.Create(WizardForm);
BrowseDialogLabel.SetBounds(ScaleX(130),ScaleY(335),ScaleX(365),ScaleY(13));
BrowseDialogLabel.Transparent := True;
BrowseDialogLabel.Parent := WizardForm;
BrowseDialogLabel.Caption := 'Выберите папку из списка и нажмите «OK».';

Back:=tbutton.create(WizardForm)
with back do begin
SetBounds(ScaleX(16),ScaleY(351),ScaleX(100),ScaleY(30));
parent:=WizardForm;
Caption:='Сброс';
onclick:=@BackClick;
end;

Ok:=tbutton.create(WizardForm)
with ok do begin
SetBounds(ScaleX(126),ScaleY(351),ScaleX(100),ScaleY(30));
parent:=WizardForm;
Caption:='OK';
onclick:=@OKclick;
end;

No:=tbutton.create(WizardForm)
with no do begin
SetBounds(ScaleX(236),ScaleY(351),ScaleX(100),ScaleY(30));
parent:=WizardForm;
Caption:='Отмена';
onclick:=@NOclick;
end;


DirBrowseSettingPage:= True;
end else begin
BrowseDialogTitle.Hide;
BrowseDialogTitle1.Hide;
BrowseDialogLabel.Hide;

MainPanelBig1.Hide;
MainPanelBig2.Hide;
MainPanelBigBevel.Hide;

DirBrowseSettingPage:= False;
SetParameters:= True;
DirBrowseSetting.Caption:= 'Обзор...';
end;
end;



procedure InitializeWizard();
begin
WizardForm.ClientWidth:=ScaleX(580);
WizardForm.ClientHeight:=ScaleY(410);
WizardForm.Center;
WizardForm.OuterNotebook.Hide;
WizardForm.InnerNotebook.Hide;
WizardForm.Color := clMenu;

WizardForm.NextButton.SetBounds(ScaleX(460),ScaleY(374),ScaleX(110),ScaleY(30));
WizardForm.CancelButton.SetBounds(ScaleX(487),ScaleY(500),ScaleX(110),ScaleY(30));
WizardForm.BackButton.SetBounds(ScaleX(344),ScaleY(374),ScaleX(110),ScaleY(30));
WizardForm.Bevel.SetBounds(ScaleX(0),ScaleY(365),ScaleX(580),ScaleY(2));
WizardForm.Bevel.Parent := WizardForm;
WizardForm.Bevel.BringToFront;
WizardForm.Bevel1.SetBounds(ScaleX(0),ScaleY(47),ScaleX(580),ScaleY(2));
WizardForm.Bevel1.Parent := WizardForm;
WizardForm.Bevel1.BringToFront;

DirBrowseSetting := TNewButton.Create(WizardForm);
with DirBrowseSetting do
begin
Name := 'DirBrowseSetting';
Parent := WizardForm;
SetBounds(ScaleX(100),ScaleY(375),ScaleX(110),ScaleY(30));
Caption := 'Настройки';
OnClick:= @DirBrowseSettingOnClick;
end;
end;

Последний раз редактировалось vint56, 15-09-2012 в 14:27.


Отправлено: 14:03, 15-09-2012 | #935


Аватара для nik1967

Старожил


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

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


vint56, зачем усложнять? Проще сделать через дополнительную страницу.
P.S. Закос решил сделать под наш инсталл?

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


Отправлено: 15:30, 15-09-2012 | #936


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


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

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


Почему при запуске инсталятора он создает две папки Mods, как мне надо и Modsscrips, в которую распаковывает эту папку. Почему так?
Код: Выделить весь код
Source: "D:\GAMES\World of tanks\World_of_Tanks\res_mods\0.7.5\system\*"; DestDir: "{app}\system"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: Skybox

Отправлено: 18:44, 15-09-2012 | #937


Аватара для MogilShik2007

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


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

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


Johny777, твой предыдущий скрипт выдает ошибку вместе с моим(((

Отправлено: 18:50, 15-09-2012 | #938


Аватара для SatHan

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


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

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


Подскажите пожалуйста. как поменять скорость выкатки/закатки окна побыстрее? код от сюда
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.

[#code]
var
  SettingPanel   : TPanel;
  Flag           : boolean;
  Timer          : LongWord;

function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): LongWord; external 'SetTimer@user32.dll stdcall';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external 'KillTimer@user32.dll stdcall';

procedure Timer1;
begin
  if SettingPanel.Top < 0 then SettingPanel.Top := SettingPanel.Top + ScaleY(3);
  if SettingPanel.Top = 0 then KillTimer(WizardForm.Handle, Timer);
end;

procedure Timer2;
begin
  if SettingPanel.Top > -315 then SettingPanel.Top := SettingPanel.Top - ScaleY(3);
  if SettingPanel.Top = -315 then KillTimer(WizardForm.Handle, Timer);
end;


procedure HideShow(Sender: TObject);
begin
  KillTimer(WizardForm.Handle, Timer);
  case Flag of
  True :
    begin
      Timer := SetTimer(WizardForm.Handle, 1, 5 , CallbackAddr('Timer2'));
      TButton(Sender).Caption:='Show';
    end;
  False :
    begin
      Timer := SetTimer(WizardForm.Handle, 1, 5 , CallbackAddr('Timer1'));
      TButton(Sender).Caption:='Hide';
    end;
  end;
  Flag:= not Flag;
end;


procedure InitializeWizard();
 begin
  Flag:= False;

  SettingPanel := TPanel.Create(WizardForm);
  with SettingPanel do
  begin
    Parent := WizardForm;
    SetBounds(ScaleX(0),ScaleY(-315),ScaleX(497),ScaleY(313));
    ParentBackground := False;
  end;

  with TButton.Create(WizardForm) do
  begin
    OnClick:= @HideShow;
    SetBounds(ScaleX(40),ScaleY(327),ScaleX(75),ScaleY(25))
    Caption:='Show';
    Parent:= WizardForm;
  end;
end;


Цитата Johny777:
теперь ни копипастой »
проверил. копипастой вставляется и мышью и через клаву ctrl+v.

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


Отправлено: 19:05, 15-09-2012 | #939


Аватара для Johny777

Ветеран


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

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


SatHan,
Цитата SatHan:
как поменять скорость выкатки/закатки окна побыстрее? »
Timer := SetTimer(WizardForm.Handle, 1, 5 , CallbackAddr('Timer1'));
в таймере выполняется процедура Timer1
5 - частота обновления таймера (в миллисекундах (в 1 секунде 1000)). Иначе говоря выполнения указанной процедуры
в самой процедуре стоит

....панель.сверху := панель.свеху + 3 пикселя
SettingPanel.Top := SettingPanel.Top + ScaleY(3);

те мы каждые пять миллисекунд двигаем панель на 3 пикселя

MogilShik2007,
Код: Выделить весь код
procedure CurStepChanged(CurStep: TSetupStep);
var
  ErrorCode: Integer;
begin
  если (этап установки = после нажатия на кнопку завершить) и (такой_чекбокс.отмечен) то Запустить(расшифровать константу(расположение экзешника)). парамеьров нет, рабочая папка, спрятать консольное окно, не ждать, Переменная в которую пишется код ошибки))
  if (CurStep = ssDone) and (Run_CheckBox.Checked = True) then Exec(ExpandConstant('{app}\{#MyAppExeName}'), '', ExpandConstant('{app}'), SW_HIDE, ewNoWait, ErrorCode);
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:12, 16-09-2012 | #940



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




 
Переход