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

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

 

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

Ветеран


Contributor


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

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


Цитата Nullkree:
как разрешить ввод только цифр в Edit1 на кастомной странице? »
Nullkree,
Скрытый текст

Код: Выделить весь код
[Code]
#define A = (Defined UNICODE) ? "W" : "A"
const
  GWL_STYLE = (-16);
  ES_NUMBER = $00002000;

function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLong{#A}@user32.dll stdcall';
function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall';

///////////////////////////
procedure InitializeWizard;
begin
  SetWindowLong(WizardForm.DirEdit.Handle, GWL_STYLE, GetWindowLong(WizardForm.DirEdit.Handle, GWL_STYLE) or ES_NUMBER);
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:48, 28-07-2017 | #2011



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

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


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


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

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


Изображения
Тип файла: jpg progressbar.jpg
(49.7 Kb, 3 просмотров)

День добрый. Есть такой Inno Download Plugin (Mitrich Software). Для скачивания файла используются:

function isxdl_DownloadFiles(hWnd: Integer): Integer;
external 'isxdl_DownloadFiles@files:isxdl.dll stdcall';

При скачивании появляется прогресс бар со статистикой по скачиваемому файлу. Может быть кто-нибудь сталкивался с подобной проблемой и знает как ее решить: необходимо скрыть прогресс бар процесса скачивания файла(-ов). Буду признателен за помощь!

Код: Выделить весь код
procedure DownloadFiles(IDE, ISS: Boolean);
var
  hWnd: Integer;
  URL, FileName: String;
begin

  isxdl_SetOption('label', 'Downloading extra files');
  isxdl_SetOption('description', 'Please wait while Setup is downloading extra files to your computer.');

  try
    FileName := ExpandConstant('{tmp}\WizModernSmallImage-IS.bmp');
    if not FileExists(FileName) then
      ExtractTemporaryFile(ExtractFileName(FileName));
    isxdl_SetOption('smallwizardimage', FileName);
  except
  end;
  //turn off isxdl resume so it won't leave partially downloaded files behind
  //resuming wouldn't help anyway since we're going to download to {tmp}
  isxdl_SetOption('resume', 'false');

  hWnd := StrToInt(ExpandConstant('{wizardhwnd}'));

Отправлено: 21:50, 31-07-2017 | #2012


Ветеран


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

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


Цитата eromunald:
необходимо скрыть прогресс бар процесса скачивания файла(-ов). »
Зачем?

Отправлено: 22:40, 31-07-2017 | #2013


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


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

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


Цитата Iska:
Зачем? »
В процессе инсталляции идет установка дополнительного по и владельцу по очень захотелось, чтобы после подтверждения скачивание и установка была невидима пользователю.

Последний раз редактировалось eromunald, 31-07-2017 в 23:04. Причина: Правка


Отправлено: 23:03, 31-07-2017 | #2014


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

Ветеран


Contributor


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

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


Цитата eromunald:
При скачивании появляется прогресс бар со статистикой по скачиваемому файлу. Может быть кто-нибудь сталкивался с подобной проблемой и знает как ее решить: необходимо скрыть прогресс бар процесса скачивания файла(-ов). »
eromunald, idpShowDetails(False) или к форме и к ее элементам обращайтесь через переменную IDPForm (IDP Help - Types - TIdpForm). Все это после вызова idpDownloadAfter.
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:59, 01-08-2017 | #2015


Аватара для OldGamer

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


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

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


Изображения
Тип файла: png Error.png
(11.8 Kb, 8 просмотров)
Тип файла: png Выбор языков.png
(17.1 Kb, 12 просмотров)

Здравствуйте!

Помогите, пожалуйста, решить проблемы:

1) В окне выбора языков, если нажать "Отмена" - ошибка (см. вложение) [решено]
2) Нужно, чтобы название языков установки было написано по англ./рус. (см. вложение), например Russian / Русский и т.д.
3) Как-нибудь к моему скрипту возможно "прикрутить" определение оставшегося времени до конца установки? [решено]

https://cloud.mail.ru/public/FD46/7renqfK7P

Последний раз редактировалось OldGamer, 08-08-2017 в 00:21.


Отправлено: 10:05, 05-08-2017 | #2016


Аватара для leonov_0fficial@vk

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


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

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


Здравствуйте, я впервые общаюсь с данной программой и при первой же компиляции мне выдаёт ошибку: "Line 51: Column: 76 Unknown Type 'TItemArea' ", - помогите пожалуйста. (Версия программы - 5.5.9(u)).

Сам код:
Скрытый текст
Код: Выделить весь код
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;

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
  WizardForm.SelectComponentsLabel.Hide;
  WizardForm.TypesCombo.Hide;
  WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(0), ScaleX(184), ScaleY(205)); //растягиваем окно компоненты
  WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription;
  WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave;

  CompDescImgPanel := TPanel.Create(WizardForm);
  with CompDescImgPanel do
  begin
    Parent := WizardForm.SelectComponentsPage;
    SetBounds(ScaleX(192), ScaleY(0), ScaleX(225), ScaleY(120));   //растягиваем ширину и высотку превью
    BevelInner := bvLowered;
  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(192), 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');
  end;
    AddCompDescription(1, CustomMessage ('Description1'), 'dust2.bmp');
    AddCompDescription(2, CustomMessage ('Description2'), 'cache.bmp');
    AddCompDescription(3, CustomMessage ('Description3'), 'inferno.bmp');
    AddCompDescription(4, CustomMessage ('Description4'), 'mirage.bmp');
    AddCompDescription(5, CustomMessage ('Description5'), 'cbble.bmp');
    AddCompDescription(6, CustomMessage ('Description6'), 'overpass.bmp');
    AddCompDescription(7, CustomMessage ('Description7'), 'italy.bmp');
    AddCompDescription(8, CustomMessage ('Description8'), 'train.bmp');
    AddCompDescription(9, CustomMessage ('Description9'), 'nuke.bmp');
end;

Последний раз редактировалось leonov_0fficial@vk, 06-08-2017 в 18:25.


Отправлено: 13:35, 05-08-2017 | #2017


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


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

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


парни подскажите как можно сделать что бы в папке при установки не проверялись файлы
Source: "C:\Users\Desktop\1\CommonFilesFolder\*"; DestDir: "{cf}"; Flags: что тут надо прописать

Последний раз редактировалось pollipen, 08-08-2017 в 17:23.


Отправлено: 17:15, 08-08-2017 | #2018


Аватара для boss911

Alien


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

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


Цитата pollipen:
что бы в папке при установки не проверялись файлы »
Какую именно проверку нужно отключить, на что? Предположу, что вам нужен флаг overwritereadonly и/или ignoreversion.

Отправлено: 19:36, 08-08-2017 | #2019


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


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

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


Цитата El Sanchez:
idpShowDetails(False) или к форме и к ее элементам обращайтесь через переменную IDPForm (IDP Help - Types - TIdpForm). Все это после вызова idpDownloadAfter. »
В принципе почти получилось, но во время скачивания файла ProgressBar не уходит и процесс скачивания файла еще виден, хотя были выставлены параметры idpShowDetails(False) и IDPForm.FileProgressBar.Visible := False Т.е. все скрыто кроме бара скачивания. Может есть другая возможность скрыть процесс скачивания файла или свернуть это окно.

Последний раз редактировалось eromunald, 10-08-2017 в 08:27.


Отправлено: 14:15, 09-08-2017 | #2020



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




 
Переход