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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: Vadikan
Дата: 22-05-2012
Описание: Закрыто
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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. Помощь и советы [часть 5]

Отправлено: 18:01, 29-08-2011

 

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


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

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


Johny777, спс, а в Files его надо указывать??

Johny777, показвается только стандарт, а мне надо что бы мой курсор показывался

Отправлено: 20:07, 21-03-2012 | #1251



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

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


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

Ветеран


Contributor


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

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


Цитата R.i.m.s.k.y.:
это место и для ХР такое же? »
Разумеется. GUID-ы классов устройств
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:42, 21-03-2012 | #1252


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


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

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


Serega короче хохма такая:если использовать ваш скрипт,где указанно Source: compiler:Examples\* я так понимаю это папка инно с примерами,то отображаеться всё и проценты и размер файликов.Как только я указываю Source: F:\Test Drive Unlimited 2\* то прощай проценты и размер файлов.Я тогда пошел другим путем,просто скопировал в папку C:\Program Files (x86)\Inno Setup 5\Examples файл bigfile_RU_1.big размером 3,05 гб и нажал нечего не меняя компиляцию.После компиляции во время установки и распаковки инсталятором файла bigfile_RU_1.big нет ни процентов ни размера,а потом после того как он распаковался инсталятором,происходит распаковка тех файлов мелких в C:\Program Files (x86)\Inno Setup 5\Examples и появляються(мелькают) их размеры и проценты появляются, сразу 100% ,при этом еще раз повторяю я не чего в вашем последнем скрипте не менял,просто скопировал в папку примеров этот огромный файл. Я так понял хоть убейся не может инно показать размер огромных файлов,а мелких пожалуйста и с процентами.Кто нибудь,может решить эту загадку?Уже 4 день мучаемся.

Отправлено: 00:36, 22-03-2012 | #1253


Аватара для Johny777

Ветеран


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

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


FX-DENIS,
попробуй это для начала
тут правда в байтах, но если отображается как надо, то думаю можно переделать
проценты тоже есть
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma2/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[Files]
Source: C:\Program Files (x86)\Inno Setup 5\*; DestDir: {app}; AfterInstall: Progress
[UninstallDelete]
Type: files; Name: {app}
[  Code]
var
  ProgressLabel, SizeLabel: TLabel;

procedure Progress;
var
  size: Integer;
begin
  with WizardForm.ProgressGauge do
    ProgressLabel.Caption:= IntToStr((Position-Min)/((Max - Min)/100)) + ' %';
  FileSize(ExpandConstant(CurrentFileName), size);
  SizeLabel.Caption:= 'Размер ' + ExtractFileName(ExpandConstant(CurrentFileName)) + ': ' +
                      IntToStr(size) + ' байт';
end;

procedure InitializeWizard();
begin
  ProgressLabel:= TLabel.Create(WizardForm);
  with WizardForm.ProgressGauge do
    begin
      ProgressLabel.Top := Top + Height + ScaleY(8);
      ProgressLabel.Left:= Left + Width/2 - ScaleX(8);
      ProgressLabel.AutoSize := True;
      ProgressLabel.Parent := WizardForm.InstallingPage;
    end;
  SizeLabel:= TLabel.Create(WizardForm);
  with WizardForm.ProgressGauge do
    begin
      SizeLabel.Top := Top + Height + ScaleY(8);
      SizeLabel.Left:= Left;
      SizeLabel.AutoSize := True;
      SizeLabel.Parent := WizardForm.InstallingPage;
    end;
end;

Отправлено: 01:00, 22-03-2012 | #1254


Ветеран


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

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


Цитата FX-DENIS:
если использовать ваш скрипт,где указанно Source: compiler:Examples\* я так понимаю это папка инно с примерами,то отображаеться всё и проценты и размер файликов. »
Вывод, значит скрипт рабочий?!
Цитата FX-DENIS:
во время установки и распаковки инсталятором файла bigfile_RU_1.big нет ни процентов ни размера »
Вы видимо не понимаете суть, определить размер файла можно только если он находится на диске, т.е. уже скопирован, отсюда и AfterInstall: Progress;, если перевести, то процедура Progress будет выполнена только после копирования файла на диск.
Цитата FX-DENIS:
происходит распаковка тех файлов мелких в C:\Program Files (x86)\Inno Setup 5\Examples и появляються(мелькают) их размеры и проценты появляются, сразу 100% »
Правильно, размер всех этих оставшихся файлов всего несколько мегабайт, а вы уже скопировали 3,05ГБ, отсюда и сразу 100%.
Цитата FX-DENIS:
Я так понял хоть убейся не может инно показать размер огромных файлов »
Данный скрипт, который я вам привёл, показывает любой размер файла, но только он должен быть на диске.
Цитата FX-DENIS:
Кто нибудь,может решить эту загадку?Уже 4 день мучаемся. »
Вы видимо хотели, чтоб показывало как в Total Commander'е при копировании файла прогресс? В таком случае, файл должен быть внешним и копирование придётся делать через код...

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

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

Отправлено: 01:05, 22-03-2012 | #1255


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


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

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


Johny777, с этим скриптом я изначально пришел сюда))
Serega,
Цитата Serega:
Данный скрипт, который я вам привёл, показывает любой размер файла, но только он должен быть на диске. »
кто файл или скрипт?на диск я запишу инсталятор или локальный диск?показывает любой размер файла только после распаковки,что то я не видел,что бы после распаковки bigfile_RU_1.big он паказал размер 3.05 гб ,попробую ещё раз всю игру скомпилировать и посмотрю.
Цитата Serega:
Вы видимо хотели, чтоб показывало как в Total Commander'е при копировании файла прогресс? В таком случае, файл должен быть внешним и копирование придётся делать через код... »
нет,вы же выдели первые скриншоты которые выкладывал,что придуриваться.Простыми средствами инно,без отдельных прогресс баров,сжатий arc и прочей ненужной мишуры, просто общий процент распаковки и размер в мб,гб текущего файла.
В любом случае после стольких мучений тут,и перечитывания зря тысяч сообщений трех архивов форума спасибо вам Serega,а остальным,когда пишут,то прежде чем помогать Johny777 и другие,читайте с чем человек пришел к вам,или лень вернуться на несколько страниц назад,прежде чем советовать.Еще раз спасибо Serega вам,буду использовать скрипт последний предложенный вами,хоть такое отображение.

Отправлено: 02:28, 22-03-2012 | #1256


Ветеран


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

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


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

Цитата FX-DENIS:
кто файл или скрипт? »
Естественно файл, он уже должен быть на локальном диске.
Цитата FX-DENIS:
что то я не видел,что бы после распаковки bigfile_RU_1.big он паказал размер 3.05 гб »
Он показывает, только мелькает очень быстро, т.к. следующий файл маленького размера.
Чтоб вам было понятней прикрепил к сообщению ваш скриншот, на котором сделал пометки.
Цитата FX-DENIS:
нет,вы же выдели первые скриншоты которые выкладывал,что придуриваться. »
А кто вам сказал, что я придуриваюсь или ещё что-то? Я лишь хочу донести до вас суть, я не зря вам сказал про Total Commander, он прежде чем копировать, узнаёт размер файла, а уже затем отображет прогресс в зависимости от состояния.
Если вы хотите, чтоб отображался размер именно в данный момент извлекаемого файла, вам придётся создать список всех файлов с размерами и при распаковке использовать уже BeforeInstall: Progress;, а в самой процедуре Progress в зависимости от имени файла писать его размер. Для того, чтоб изменялись проценты вместе с движением прогрессбара, показ процентов нужно писать через таймер.
Цитата FX-DENIS:
то прежде чем помогать Johny777 и другие,читайте с чем человек пришел к вам »
Зачем вы так, он просто хотел вам помочь...

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

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

Отправлено: 09:30, 22-03-2012 | #1257


Аватара для Ivan_009

Ветеран


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

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


Как расширить эту область чтобы можно было сменить текст а то при смене текста половина букв невидно

Последний раз редактировалось Ivan_009, 24-03-2012 в 01:15.


Отправлено: 11:22, 22-03-2012 | #1258


Аватара для Johny777

Ветеран


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

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


Ivan_009,
настоятельно советую поставить расширенную версию. В ней есть графический дизайнер и все эти элементы двигаются и расширяются напрямую без ручной писанины коде!
ссылка http://forum.oszone.net/thread-148707.html или http://innoultra.ru/?page_id=70
а расширить так.
только в высоту, т.к. он шириной в InnerNotebook и пришлось бы расширять и его, что повлекло бы за собой смещение прогресбара и других элементов
читать дальше »
Код: Выделить весь код
procedure InitializeWizard();
begin
  with WizardForm.SelectDirBrowseLabel do
  begin
    Top := ScaleY(36);
    Height := ScaleY(45);
  end;
end;


Цитата Serega:
использовать уже BeforeInstall: Progress; »
Может за основу взять это. Мелкие и так мелькают. Их можно на старом лейбле отображать через AfterInstall
а для крупного сделать так
читать дальше »
Код: Выделить весь код
[Files] 
Source: "{src}\*.dll"; DestDir: {app}; BeforeInstall: ChangeCaption('3гб') 

[_Code] 
procedure ChangeCaption(str: string); 
begin 
WizardForm.StatusLabel.Caption:= str; /// вместо этого лейбла другой
end;

_______________________________________________________________
кому нужно
у меня много временных файлов и инсталл инициализируется долго
сделал так
форма отображается в течении загрузки сколько бы она на разных компах не длилась
думаю можно ещё вынести из элементов строки типа ExtractTemporaryFile('WizardForm.BitmapImage9.bmp');
предварительно создав прогресбар прописывать после каждой строки что-то вроде
ProgresBar.Position: =5;
читать дальше »
Код: Выделить весь код
procedure InitializeWizard;
var
  Form: TSetupForm;   /// создание формы перед запуском /// часть 1
begin
  begin
    Form := CreateCustomForm();
      with Form do
        begin
          ClientWidth := ScaleX(207); //Ширина формы 
          ClientHeight := ScaleY(180); //Высота формы 
          BorderStyle := bsDialog;
          Left := GetSystemMetrics(16) - ClientWidth - ScaleX(5);
          Top := GetSystemMetrics(17) - ClientHeight - ScaleY(5);
          Caption := 'Inno Setup Wizard' //Заголовок окна
            with TBitmapImage.Create(Form) do
              begin
                Parent := Form;
                Left := ScaleX(0);
                Top := ScaleY(0);
                Width := ScaleX(207);
                Height := ScaleY(180);
                ExtractTemporaryFile('Lambda_Form_Image.bmp');
                Bitmap.LoadFromFile(ExpandConstant('{tmp}\Lambda_Form_Image.bmp'));
              end;
        end;
    Form.Show();
    Form.Repaint;
    /// конец


   /// здесь весь отсек InitializeWizard

    RedesignWizardForm; /// это кусок дизайнера



 end;
 Form.Free();  инсталл загружен. Форма исчезает
end;

живой пример
http://rghost.ru/37156533

Последний раз редактировалось Johny777, 22-03-2012 в 13:35.


Отправлено: 12:21, 22-03-2012 | #1259


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


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

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


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

Johny777,извиняюсь ,если перегнул палку,без обид. Serega, разжевал и в рот положил,всё понял теперь.Вопросов больше нет.
Итоговый результат

Последний раз редактировалось FX-DENIS, 22-03-2012 в 21:10.

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

Отправлено: 12:44, 22-03-2012 | #1260



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход