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

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

 

Аватара для Johny777

Ветеран


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

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


Ivan_009, Mafioza,
блин чуваки
харэ мудрить
я знаю как такое задать и поделюсь, но вы поймите простую вещь
у меня в инсталле при запуске извлекаются 75 картинок
на них отведено 74 деления прогрессбара на форме которая создаётся в начале InitializeWizard;
а в конце разрушается
сама процедура InitializeWizard; у меня длиной в 4200 строк
и все остальные деления (позиции прогреса) раскиданы на примерно равных интервалах по ней (25 делений)
те я не мог не отобразить запуск такого тяжёлого инсталла

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


а теперь подумайте
вот вы хотите вешать необдуманно рюшки которые - понты
Я тоже фанат всяких наворотов но скажу честно. Если бы мой инсталл запускался за пару секунд я бы форму даже не создавал

в общем призываю ещё раз пересмотреть желания
если вам нужны кастомные тормоза, то дело ваше. Выдеру пример у себя из кода

Прочитали?
Теперь ещё раз скажите нужно или нет
если не нужно то поудаляйте свои посты
если нужно оставьте. Заменю это сообщение на код

Последний раз редактировалось Johny777, 19-08-2012 в 02:12.

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

Отправлено: 01:34, 19-08-2012 | #661



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

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


Забанен


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

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


Цитата Johny777:
а теперь подумайте
вот вы хотите вешать необдуманно рюшки которые - понты »
Мне тоже нравятся некоторые рюшечки, но в меру и если они несут в себе какую то полезность, ну, или необходимость, что то донести до пользователя, такой тюнинг действительно есть. Лично я выбираю "как можно больше дефолта+красоты+компактности+скорости загрузки и естесно + стабильности работы". Но вот то хочет Mafioza, именно то что показал товарищ Ivan_009 на скрине, лично я не представляю зачем такая пое**та вообще нужна. Это лишний код, лишний геморой, лишняя пустая трата времени. Полагаю это всего лишь понт. На мой взгляд в подобных штучках нет ничего что могло бы быть полезным. А так конечно это дело каждого, на вкус и цвет фломастеры разные .

Последний раз редактировалось Fifth Intellect, 19-08-2012 в 07:00.

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

Отправлено: 03:43, 19-08-2012 | #662


Аватара для Mafioza

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


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

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


Fifth Intellect вообщето это не понт понятно некоторые инсталлы загружаются долго , мне нужен как ты говоришь этот геморой!

Отправлено: 10:07, 19-08-2012 | #663


Аватара для ChVL

Старожил


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

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


El Sanchez,
Ваш скрипт работает. Спасибо большое!
В чём смысл флага CSIDL_FLAG_CREATE? - Без него тоже работает.

Отправлено: 20:47, 19-08-2012 | #664


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

Ветеран


Contributor


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

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


Цитата ChVL:
В чём смысл флага CSIDL_FLAG_CREATE? - Без него тоже работает. »
ChVL, у меня тоже. Флаг означает создать папку, если ее еще нет. В SHGetSpecialFolderPath, которую вы использовали, за это отвечает последний параметр, у вас он True. Эта функция устарела, поэтому я ее и заменил.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:19, 19-08-2012 | #665


Аватара для Johny777

Ветеран


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

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


Цитата Mafioza:
мне нужен »
держи
читать дальше »

Код: Выделить весь код
[Setup]
AppName=Icon_Demo
AppVerName=Icon_Demo
DefaultDirName={pf}\Icon_Demo
Compression=none

[Files]
;DestName: "WizardForm.BitmapImage1.bmp"; Source: "Pics\Lambda_hand.bmp"; Flags: dontcopy solidbreak nocompression sortfilesbyextension
;DestName: "WizardForm.BitmapImage2.bmp"; Source: "Pics\D2_coast.bmp"; Flags: dontcopy solidbreak nocompression sortfilesbyextension
;DestName: "WizardForm.BitmapImage3.bmp"; Source: "Pics\GordonF.bmp"; Flags: dontcopy solidbreak nocompression sortfilesbyextension
;DestName: "WizardForm.BitmapImage4.bmp"; Source: "Pics\Borealis.bmp"; Flags: dontcopy solidbreak nocompression sortfilesbyextension
;DestName: "WizardForm.BitmapImage5.bmp"; Source: "Pics\portals.bmp"; Flags: dontcopy solidbreak nocompression sortfilesbyextension
;... итд

[  code]
function GetSystemMetrics(nIndex:Integer):integer; external 'GetSystemMetrics@user32.dll stdcall delayload';

procedure InitializeWizard;////////////////////////////////////////////////////////////////////////////////////////// Initialize Wizard ////////////////////////////////////////////////////////////////////////////////////////////////
var
  Form: TSetupForm;
  LoadPrgsBar: TNewProgressBar;
  i: Integer;
begin
  Form := CreateCustomForm();
  with Form do
  begin
    ClientWidth := ScaleX(300);
    ClientHeight := ScaleY(271);
    BorderStyle := bsDialog;
    Caption := 'Загрузка';
    Left := GetSystemMetrics(16) - ClientWidth - ScaleX(16);
    Top := GetSystemMetrics(17) - ClientHeight - ScaleY(16);

    LoadPrgsBar := TNewProgressBar.Create(nil);
    with LoadPrgsBar do
    begin
      Parent := Form;
      SetBounds(ScaleX(0), ScaleY(0), ScaleX(300), ScaleY(27));
      Position := 0;
    end;

    Show;
    Repaint;
  end;

  /// пример распаковки изображений в цикле (называния картинок должны быть одинаковыми с разными номерами) = пример в секции файлов
//  with LoadPrgsBar do
//  begin
//    for i := 1 to 73 do
//    begin
//      ExtractTemporaryFile('WizardForm.BitmapImage' + IntToStr(i) + '.bmp');
//      Position := i;
//    end;
//  end;
  
    /// другой пример
//  ExtractTemporaryFile('warning_dark.bmp'); // извлекаем картинку
    LoadPrgsBar.Position := 1; // добавляем позицию
//  ExtractTemporaryFile('hl1.bmp');  /// извлекаеи ещё одну
    LoadPrgsBar.Position := 2; // добавляем позицию

    /// создаеём что-то
    LoadPrgsBar.Position := 3; // добавляем позицию



  Form.Free; /// писать в самом конце процедуры. Те освобождаем форму
end;

взял у себя из кода
правда без картинки
чисто функционал
нужна будет добавь таким макаром http://forum.oszone.net/post-1968497-631.html
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:52, 20-08-2012 | #666


Аватара для ddv122

Старожил


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

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


Доброго дня, подскажите пожалуйста , если возле инсталлятора лежит к примеру файл 1.mp3, скопировать его в папку установки + под папки Music\\11\\
В итоге он после установки должен оказаться так к примеру С:\\1\\Music\\11\\1.mp3 но только если он имеется возле инсталлятора.

-------
Одна голова хорошо, а двух у меня нет...


Отправлено: 13:55, 20-08-2012 | #667


Аватара для Johny777

Ветеран


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

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


ddv122,
Код: Выделить весь код
[Setup]
AppName=Icon_Demo
AppVerName=Icon_Demo
DefaultDirName={pf}\Icon_Demo
Compression=none

[Files]
Source: {src}\1.mp3; DestDir: {app}\Music\11; Flags: external skipifsourcedoesntexist

[Dirs]
Name: "{app}\Music\11"
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:09, 20-08-2012 | #668


Аватара для MogilShik2007

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


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

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


Всем привет!

Выложите скрипт двойного прогресс бара, нашел один, но чет смущает пункт SizeInfo.ini - чего это такое и откуда ее брать?

И такой вопрос на больших файлах пропадает моя иконка инсталлятора, это как то можно исправить?

Эээ, после запуска игры появляются такие значения в реестре:
Root: HKLM; Subkey: "SOFTWARE\Classes\CLSID\{EE4DEA71-3E59-432B-AF58-2B13E53D4F90}"; и т.д.
Root: HKLM; Subkey: "SOFTWARE\Classes\Record\{05266000-5465-3AA0-90F4-6FDD962F7F95}"; и т.д.

Где цифры выделены фиолетовым цветом, это можно как то прописать чтобы удалялось?

Отправлено: 17:31, 20-08-2012 | #669


Аватара для Johny777

Ветеран


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

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


MogilShik2007,
сам хотел двойной прогрессбар
мне на руборде объяснили по научному - http://krinkels.org/showpost.php?p=8222&postcount=311
что это нереально или как-то так
давно забил (ну почти забил )

Ivan_009,
он о примере для не использующего исдан скрипта говорит
и в исдане вверху общее количество архивов
внизу текущий
те это не отображение конкретных файлов - мелких и больших!

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

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

Отправлено: 18:39, 20-08-2012 | #670



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




 
Переход