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

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

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

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

Ветеран


Contributor


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


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

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

 

Аватара для alert30

Ветеран


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

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


Johny777, а-а-а, я протупил.
DestDir отвечает куда копировать. Все понятно.

Отправлено: 18:15, 14-06-2012 | #271



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

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


Аватара для Ivan_009

Ветеран


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

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


Почему при использовании botva2p загрузка картинок проходит нормально но стоит нажать на кнопку отмена установки и выход так возникает звук ошибки....Вот код загрузки картинок....

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


Отправлено: 18:31, 14-06-2012 | #272


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Ivan_009, Проверь, есть у тебя такой момент?
Код: Выделить весь код
procedure DeinitializeSetup;
begin
  gdipShutdown;
end;

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

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

Отправлено: 18:52, 14-06-2012 | #273


Аватара для Ivan_009

Ветеран


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

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


Gnom_aka_Lexander, Спасибо большое как раз этот момент я упустил...

Отправлено: 18:59, 14-06-2012 | #274


Аватара для Ivan_009

Ветеран


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

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


Подскажите пожалуйста как сдесь прописать чтобы музыка воспроизводилась...BASS_Init(ExpandConstant('{tmp}\*')) //Поиск по маске...

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


Аватара для Johny777

Ветеран


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

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


Ivan_009,
может так:
BASS_Init(ExpandConstant('{tmp}\*.mp3'))

попробуй

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

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

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


Аватара для Raf-9600

Старожил


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

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


Ктонить может сделать так чтобы в коде на отображение комментария к компонентам, комментарий к первому компоненту различался на разных Windows? Ну грубо говоря нужно к одному описанию как-то присобачить правило MinVersion: 4.90.3000,4.0.1381; OnlyBelowVersion: 0,6.0.5999, а если у юзера другой Windows, чтобы отображалось другое описание.

Собстно код на описание компонентов:
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Components]
Name: Version; Description: Версия; Flags: fixed; Types: full compact custom;
Name: Version\101; Description: 1.01; Flags: exclusive;
Name: Version\102; Description: 1.02; Flags: exclusive;
Name: Version\103; Description: 1.03; Flags: exclusive; 
Name: Version\104; Description: 1.04; Flags: exclusive; Types: full;

[C0de]
var
  DRTF: TRichEditViewer;
  
  
procedure MemoKeyPress(Sender: TObject; var Key: Char);
begin
  Key := #0;
end;

procedure MemoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  Key := 0;
end;

procedure RedesignWizardForm;
begin
  with WizardForm.ComponentsList do
  begin
    Width := ScaleX(212);
  end;

  DRTF := TRichEditViewer.Create(WizardForm);
  with DRTF do
  begin
    Name := 'DRTF';
    Parent := WizardForm.SelectComponentsPage;
    Left := ScaleX(220);
    Top := WizardForm.ComponentsList.Top;
    Width := ScaleX(197);
    Height := WizardForm.ComponentsList.Height;
    Color := clMenu;
    ReadOnly := True;
    ScrollBars := ssVertical;
    Text := '';
    OnKeyDown := @MemoKeyDown;
    OnKeyPress := @MemoKeyPress;
  end;
  DRTF.TabOrder := 4;
end;

type
  TComponentDesc = record Description: String; Index: Integer; end;

var
  Descs: array of TComponentDesc;
  Indx: Integer;

procedure ShowDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea);
var i: Integer;
begin
  Indx:=-1;
  for i:= 0 to GetArrayLength(Descs)-1 do begin
  if (Descs[i].Index=Index) then begin Indx:=i; Break end; end;
  if (Indx >=0)and(Area=iaItem) then DRTF.Text:= Descs[Indx].Description; 
end;

procedure AddDescription(AIndex: Integer; ADescription: String);
var i, k: Integer;
begin
i:= GetArrayLength(Descs); SetArrayLength(Descs, i+1);
Descs[i].Description:= ADescription; Descs[i].Index:= AIndex-1
end;

procedure InitializeWizard();
begin
  RedesignWizardForm;
  WizardForm.ComponentsList.OnItemMouseMove:= @ShowDescription
  
  AddDescription(1, 'текст 1.');
  AddDescription(2, 'текст 2.');
  AddDescription(3, 'текст 3.');
  AddDescription(3, 'текст 4.');
  
end;

Отправлено: 23:05, 18-06-2012 | #277


Аватара для Johny777

Ветеран


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

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


Raf-9600,
вот если бы кто-нибудь подкинул код на определение версии винды через код, то думаю можно б было так сделать
Код: Выделить весь код
procedure InitializeWizard();
begin
 ...  
  if  версия такоя then AddDescription(1, 'при такой версии') else (те др. версия) AddDescription(1, 'описание при другой версии') ;
...
end;

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

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

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


Аватара для nik1967

Старожил


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

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


Raf-9600,
типа так?
Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Components]
Name: Version; Description: Версия; Flags: fixed; Types: full compact custom;
Name: Version\101; Description: 1.01; Flags: exclusive;
Name: Version\102; Description: 1.02; Flags: exclusive;
Name: Version\103; Description: 1.03; Flags: exclusive; 
Name: Version\104; Description: 1.04; Flags: exclusive; Types: full;

[ Code]
var
  DRTF: TRichEditViewer;
  
  
procedure MemoKeyPress(Sender: TObject; var Key: Char);
begin
  Key := #0;
end;

procedure MemoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  Key := 0;
end;

procedure RedesignWizardForm;
begin
  with WizardForm.ComponentsList do
  begin
    Width := ScaleX(212);
  end;

  DRTF := TRichEditViewer.Create(WizardForm);
  with DRTF do
  begin
    Name := 'DRTF';
    Parent := WizardForm.SelectComponentsPage;
    Left := ScaleX(220);
    Top := WizardForm.ComponentsList.Top;
    Width := ScaleX(197);
    Height := WizardForm.ComponentsList.Height;
    Color := clMenu;
    ReadOnly := True;
    ScrollBars := ssVertical;
    Text := '';
    OnKeyDown := @MemoKeyDown;
    OnKeyPress := @MemoKeyPress;
  end;
  DRTF.TabOrder := 4;
end;

type
  TComponentDesc = record Description: String; Index: Integer; end;

var
  Descs: array of TComponentDesc;
  Indx: Integer;
  Version: TWindowsVersion;

procedure ShowDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea);
var i: Integer;
begin
  Indx:=-1;
  for i:= 0 to GetArrayLength(Descs)-1 do begin
  if (Descs[i].Index=Index) then begin Indx:=i; Break end; end;
  if (Indx >=0)and(Area=iaItem) then DRTF.Text:= Descs[Indx].Description; 
end;

procedure AddDescription(AIndex: Integer; ADescription: String);
var i, k: Integer;
begin
  i:= GetArrayLength(Descs); SetArrayLength(Descs, i+1);
  Descs[i].Description:= ADescription; Descs[i].Index:= AIndex-1;
end;

function needversion():boolean;
var Version: TWindowsVersion;
begin
  GetWindowsVersionEx (Version);
  Result:= (Version.Major = 6) and (Version.Minor = 0) and (Version.Build = 5999);
end;

procedure InitializeWizard();
begin
  RedesignWizardForm;
  WizardForm.ComponentsList.OnItemMouseMove:= @ShowDescription;
if needversion then AddDescription(2, 'текст 1.') else AddDescription(2, 'текст 1.1');
  AddDescription(3, 'текст 2.');
  AddDescription(4, 'текст 3.');
  AddDescription(5, 'текст 4.'); 
end;

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

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

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


Аватара для Raf-9600

Старожил


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

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


Цитата nik1967:
типа так? »
Что-то там не так, ибо и под WinXP и под Win7 одно и то же описание =\

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



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




 
Переход