Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup - создание инсталляционных пакетов (Часть 15)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151

Открыть новую тему     Написать ответ в эту тему

Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inno Setup
 
 

Предыдущие части
Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
All version | Исходники проекта
 
Последние версии:
Inno Setup QuickStart Pack (Unicode) 6.1.2 [15.11.2020]
Скачать (4.23 Mb)
 
Inno Setup 6.2.2 [15.02.2023]
Скачать (4.50 Mb)
 
Что нового? | Что нового v.6x?  
 
Русский язык для Inno Setup v6.x
Скачать
 
Русский язык для Inno Setup v5.x
Скачать
 
Русская справка к версии - 6.0.0 beta | 5.6.1 - Зеркало
 
Последняя версия с поддержкой Windows 95 - 5.1.7
 
Последняя версия с поддержкой Windows 98/ME/NT4 - 5.4.3 ANSI
 
Последняя версия с поддержкой Windows 2000/XP/2003 - 5.6.1 (ANSI, Unicode)
 

Расширенная версия от китайских собратьев. Офсайт
Inno Setup Compiler 5.5.0-5.2 build 121216
Скачать (2.98 Mb) |Скачать (2.98 Mb) - зеркало GoogleDrive | Что нового
 
Inno ISCmplr Setup 5.5.1 build 120726
Скачать (1.73 Mb) | Что нового
 
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
 
Русский язык для Inno Setup Enhanced (Restools) версии 5.4.x (ansi и unicode) от vadimsva
Скачать
 


Документация, FAQ, и различные примеры для Inno Setup - Здесь можно найти различную документацию, примеры, архивы веток InnoSetup для оффлайн просмотра, и т.д.
 
Дополнительные библиотеки для Inno Setup - InnoTools Downloader, коллекция DLL файлов, распаковка архивов 7-zip и FreeArc и т.д.
 
Дополнительные утилиты для Inno Setup - сюда входят различные распаковщики, надстройки над Inno Setup, различные генераторы скриптов, утилита объединения скриптов и т.д.
 
Скрипты инсталляторов для игр - В этом разделе можно найти различные обложки и скрипты инсталляторов для игр.  
 
Скрипт для добавления ярлыков в Game Explorer (работает только в Windоws 7)

Родственные темы:

Inno Setup плюс внешние упаковщики - обсуждение FreeArc+Inno, Precomp+Inno, 7zip+Inno и Inno+остальные внешние упаковщики.
 
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - обсуждение того, какими утилитами/способами лучше сжимать, чтобы получить как можно меньший размер инсталятора.

Примечание для всех участников

Правила топика посвященному Inno Setup  
 
Перед тем, как задать вопрос: Первый вариант: загрузите "версию для печати" (ссылка справа вверху, над номерами страниц) и попробуйте поискать средствами браузера (ctrl+F). Второй вариант: для экономии трафика и для более удобного поиска, скачайте оффлайн версию форума для просмотра в разделе Документация.
Большинство типовых задач уже решались, причем неоднократно!  
Пожалуйста, не захламляйте тему и используйте поиск, этим вы избавите тему от флуда!

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:29 13-10-2013 | Исправлено: Komandor, 10:55 21-01-2024
V0lt_r



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ultimo
Цитата:
Выбери что нужно.
Не подойдет. У меня 8 компонент, из них только у одного мне нужно сбрасывать (или не запоминать) выбор с предыдущей инсталляции.

Всего записей: 722 | Зарегистр. 15-11-2015 | Отправлено: 16:43 25-10-2016 | Исправлено: V0lt_r, 16:45 25-10-2016
yuriko1158

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ultimo
спасибо за пример кода.
будем изучать.

Всего записей: 1078 | Зарегистр. 27-02-2015 | Отправлено: 19:04 25-10-2016
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt_r
Ну можно через Code
 

Код:
 
 
procedure InitializeWizard();
begin
  //index - номер компонента (отсчет начинается с нуля)
  WizardForm.ComponentsList.Checked[index] := false;
end;
 
 

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 19:12 25-10-2016
yuriko1158

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
оказывается в Inno Setup Compiler есть мастер по созданию установщика...
там же нашел папку example...
я же крутился вокруг Inno Script Studio и не понимал откуда растут ноги
попытался собрать Grand Theft Auto - San Andreas и возникли два вопроса.
1.сколько сборщику нужно памяти? а то на диске,куда собирается,21гБ свободного места.и вылезла ошибка про 21гБ чего то...
2.как два ярлыка вывести,ну или больше? один для оффлайн игры,а другой МР,третий ещё для чего то...
собирал через мастер,скрипт оставил для последующих доработок.
П.С. перевёл что ему надо... оказывается сборщику мало 21гБ...

Цитата:
Disk spanning must be enabled in order to create an installation larger than 2100000000 bytes in size.

и как теперь быть? ковырять настройки?
установленная игра весит всего 4.75гБ...
а я ещё хотел собрать F1 2015 который весит почти 12гБ...

Всего записей: 1078 | Зарегистр. 27-02-2015 | Отправлено: 13:50 26-10-2016 | Исправлено: yuriko1158, 14:12 26-10-2016
V0lt_r



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ultimo
Спасибо, получилось.
А есть ли способ получения индекса компонента по его "имени"?

Всего записей: 722 | Зарегистр. 15-11-2015 | Отправлено: 14:15 26-10-2016
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yuriko1158
1. Не правильно ты понял ошибку. Установщик не может весить более 2 ГБ, поэтому нужно использовать "разбивку на диски" (Disk spanning). Вот пример:
 
[Setup]
DiskSpanning=True
SlicesPerDisk=5
DiskSliceSize=1708200000
 
После этого все нормально соберется.
 
2. Элементарно. Путем добавления строк
 
; commondesktop - раб стол
; group - меню пуск
Name: "{commondesktop}\Название ярлыка"; Filename: "{app}\Имя exe файла"; Tasks: desktopicon

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 19:00 26-10-2016 | Исправлено: ultimo, 19:04 26-10-2016
yuriko1158

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ultimo

Цитата:
Установщик не может весить более 2 ГБ

ааа... ясно.тут ранее писали что .ехе не может весит более 2 гБ.это видимо мой случай.
ууу... как всё сложно на первых порах...

Цитата:
Путем добавления строк  

я так понимаю это надо дописывать в секцию Icons...
ещё раз спасибо за подсказку...

Всего записей: 1078 | Зарегистр. 27-02-2015 | Отправлено: 19:39 26-10-2016
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt_r
По "имени"? Что конкретно имеешь ввиду?
 
Я понял примерно вот так:
 

Код:
 
 
function ItemIndexFromName(ItemName: String): Integer;
var
  i: Integer;
begin
  Result := -1;
  for i := 0 to WizardForm.ComponentsList.ItemCount - 1 do
  begin
    if WizardForm.ComponentsList.ItemCaption[i] = ItemName then
    begin
      Result := i;
      Exit;
    end;
  end;
end;
 
 

 
Но функция вернет индекс только если указано Описание (Description) компонента.
 
P.S. параметр ItemCount доступен только в версии компилятора от ResTools

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 19:45 26-10-2016
V0lt_r



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ultimo
Цитата:
По "имени"? Что конкретно имеешь ввиду?
Имя компонента, то примере ниже "component_name".

Код:
Name: "component_name"; Description: "component_desc"; Types: custom;

Всего записей: 722 | Зарегистр. 15-11-2015 | Отправлено: 19:54 26-10-2016
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V0lt_r
тогда думаю нужно отталкиваться от следующего:
 

Код:
 
Prototype:
function WizardSelectedComponents(const Descriptions: Boolean): String;
 
Description:
Returns a comma-separated list of names or descriptions of the components selected by the user.
 

 
Встроенной подобной функции, которая получала бы индекс по имени, в Инно нету. Только кастом.

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 20:00 26-10-2016
yuriko1158

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
таки собрал установщик,с двумя ярлыками.и главное работает установленная игра...
осталось как то сунуть Доп.ПО во время установки,и на этом я считаю задача завершена.
простой установщик,минимум телодвижений.задумка удалась...
П.С.процесс удаления игры прерывается.явно что то недосмотрел...
не всё так гладко как хотелось бы...

Всего записей: 1078 | Зарегистр. 27-02-2015 | Отправлено: 21:13 26-10-2016 | Исправлено: yuriko1158, 00:59 27-10-2016
Dark_Delphin



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет.
 
Почему при выборе директории добавляется директори "Новая папка" ???
Как сделать, что-бы ничего не было, что-бы я мог указать путь к корню??
 
Что писать суда или куда? DefaultDirName
 
Заранее благодарен!!!

Всего записей: 164 | Зарегистр. 17-04-2011 | Отправлено: 09:13 31-10-2016
CKILL

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dark_Delphin
DefaultDirName={sd}  
справка -> константы

Всего записей: 194 | Зарегистр. 17-02-2009 | Отправлено: 17:02 02-11-2016
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CKILL
DefaultDirName={sd}\Apps
 
Так правильней
 
UPD: А если надо прям в корень ставить, то можно так:
 
[Setup]
DefaultDirName={sd}
AppendDefaultDirName=no
AllowRootDirectory=yes
DirExistsWarning=no

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 15:37 07-11-2016 | Исправлено: ultimo, 19:48 08-11-2016
sorokinMax

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго дня.
Вот всё бьюсь - не добьюсь над одной задачей.
 
При установке, на странице выбора папки установки, показывается размер необходимого места. В переводах нашёл, что для этой страницы ставится  переменная [mb].
"DiskSpaceMBLabel=Требуется как минимум [mb] Мб свободного дискового пространства."
 
Но я не нашёл по какому принципу инсталятор считает мне тот самый размер???
У меня есть много файлов в секции [files] и плюсом модули, путь до которых прописан паскальной функцией.
 
Я даже просто не понимаю в каком месте и по какому принципу всё это считается, так как пишет что требуется 250 МБ, а на самом деле после распаковки у меня порядка 1,5 Гб.  
 
Может кто подсказать куда копать?

Всего записей: 7 | Зарегистр. 10-11-2016 | Отправлено: 13:18 10-11-2016
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sorokinMax
"У меня есть много файлов в секции [files] и плюсом модули, путь до которых прописан паскальной функцией. "
А конкретней? Ну, бывает, что "недосчитывает", по разным причинам. Но всегда можно "обмануть" установщик
 
[Setup]
ExtraDiskSpaceRequired=1000000000
 
Вот так можно добавить ~ 1 Гб к [mb]
 
Тот же принцип с компонентами:
 
[Components]
Name: File; Description: Some file; ExtraDiskSpaceRequired: 1000000000
 
* Размер указывается в байтах

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 13:27 10-11-2016
sorokinMax

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так то оно так. Если прописывать руками сколько будет весить каждый компонент, - это одно. Таких примеров много.
А вот как сделать чтобы inno сам считал?.
 
По идее, он сам считает размеры файлов в разделе [files]
Но если я пишу в коде
 
#define Modul(name)   'Source: "'+SRC+'\Модуль\'+EXCLUDE_FILES+' DestDir: "{app}"'
 
а потом уже в [files] пишу  
 
#emit Modul(name)
 
то этот модуль он в расчёт не берет.
У меня вопрос то и заключается в том, как показать inno что размер этого модуля требуется тоже учитывать???

Всего записей: 7 | Зарегистр. 10-11-2016 | Отправлено: 15:13 10-11-2016
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sorokinMax
DiskSpaceMBLabel считает минимальный размер, т.е. сколько потребуется места, если будут сняты галки со всех компонентов, у которых отсутствует флаг Fixed.
 
Компоненты присутствуют?
 
P.S. Директива #emit в данном случае используется для упрощения скрипта. Никакой роли в пересчете размера она играет.

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 16:36 10-11-2016
sorokinMax

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо. Вроде как разобрался, поэкспериментировал/поигрался на простом скрипте.
 
Вся фишка в том, что если в конце строки у секции [files] стоит параметр check, то эта строка не учитывается при подсчете размера. т.е.
если будет строка
Source: "..\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion; check: myCheck
где myCheck = true
то размер файла MyProg.exe не будет учитываться.
 
А если будет строка без Check:
Source: "..\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion  
 
то размер файла будет учитываться.
 
Вопрос теперь заключается в том, как можно обойти данный параметр, не задев функциональность....

Всего записей: 7 | Зарегистр. 10-11-2016 | Отправлено: 12:10 11-11-2016
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sorokinMax
Я как раз об этом и подумал, поэтому и написал про ExtraDiskSpaceRequired
 
По-другому никак.

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 17:45 11-11-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup - создание инсталляционных пакетов (Часть 15)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru