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

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

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

articlebot (13-10-2013 23:33): продолжение темы - №15
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268

   

batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
Inno Setup часть 14

Предыдущие части
Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
 
Последние версии:
Inno Setup QuickStart Pack (ansi) 5.5.3 [30.01.2013]
Скачать (1.9 Mb)
Inno Setup QuickStart Pack (unicode) 5.5.3 [30.01.2013]
Скачать (2.2 Mb)
Что нового? | Все сборки
Русский язык для Inno Setup версии 5.5.x от vadimsva [02.06.2012]
Скачать
Русский язык для Inno IDE версии 1.0.0.0078 от vadimsva
Скачать |
 
Расширенная версия от китайских собратьев. Домашняя страница ResTools
Inno Setup Compiler 5.5.0-5.1 build 120808
Скачать (2.98 Mb) | Зеркало (2 Mb) - убраны картинки для уменьшения размера архива
Что нового?
Inno ISCmplr Setup 5.5.1 build 120726
Скачать (1.73 Mb) | Зеркало (1.7 Mb)
Что нового?
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
Русский язык для Inno Setup Enhanced (Restools) версии 5.4.x (ansi и unicode) от vadimsva
Скачать
 
Русская справка к версии 5.5.3, автор перевода BagIra, bugron | Chm-версия
 
 

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

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

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

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

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

Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 20:48 20-05-2011 | Исправлено: sjwrec, 14:38 08-09-2013
Mailchik



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrey128
[Setup]
OutputBaseFilename=MyApp2.0.1

Всего записей: 20 | Зарегистр. 06-07-2012 | Отправлено: 12:30 25-10-2012
Andrey128

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mailchik
Конечно спасибо!
Но мне хотелось бы, чтобы это делалось автоматом.

Всего записей: 410 | Зарегистр. 16-01-2003 | Отправлено: 14:18 25-10-2012
Snoopak96

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

Код:
#define FormatVersion(str Text) copy(Text, 1, 5)
#define AppVersion FormatVersion(GetFileVersion("MyApp.exe"))

 
Функция Pos возвращает только целые значания.
Перечитал ещё раз, понял про что ты, надо подумать

Всего записей: 303 | Зарегистр. 30-06-2010 | Отправлено: 22:19 25-10-2012 | Исправлено: Snoopak96, 06:39 26-10-2012
Genri

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

Цитата:
Как сделать, чтобы имя выходного файла содержало версию без конечных нулей.
-- например так:

Код:
 
#dim MyVer[4]
#define MyVer[0] 3
#define MyVer[1] 8
#define MyVer[2] 4
#define MyVer[3] 5
#define VerFullText
#define VerTrimText
#define i
#define z 0
 
#expr VerFullText = Str(MyVer[0]) + "." +  Str(MyVer[1]) + "." +  Str(MyVer[2]) + "." +  Str(MyVer[3])
 
#sub CheckVer
#if (Int(z) == 0) && (MyVer[i] > 0)
#for {z = 0; z <= i; z++} VerTrimText = VerTrimText + "." + Str(MyVer[z])
#endif
#endsub
 
#for {i = 3; i > -1; i--} CheckVer
 
[Setup]
AppName=My Program
AppVersion={#VerFullText}
VersionInfoVersion={#VerFullText}
DefaultDirName={pf}\My Program
OutputBaseFilename=MyApp{#VerTrimText}
 
 

сорри - давно не был на форуме, криво вставил код (пришлось исправлять)

----------
Для жалоб | Для благодарностей

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 14:35 26-10-2012 | Исправлено: Genri, 14:54 26-10-2012
Habib2302



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как сделать так чтобы создавался ярлык в панели управления windows 7?

Всего записей: 533 | Зарегистр. 09-05-2012 | Отправлено: 18:55 26-10-2012
Gideon Vi

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У inno из коробки с многоядерностью совсем плохо? Едва нагружает два ядра из четырех.

Всего записей: 8168 | Зарегистр. 02-02-2004 | Отправлено: 10:38 29-10-2012
JKSerGEAnt



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Обалдеть, какой глюк нашел. Если установить Office 2013 и созданный им rtf скормить инсталлятору, то он будет показывать нам вместо шрифта Cambria/Calibri шрифт Times New Roman.
 

Всего записей: 601 | Зарегистр. 13-06-2003 | Отправлено: 23:30 30-10-2012 | Исправлено: JKSerGEAnt, 23:34 30-10-2012
Alexerm

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ссылка на "Inno Setup Scripting 5.1 - Руководство по расширенным возможностям Inno Setup от Kindly" "умерла"
Извините, хотел сюда написать: http://forum.ru-board.com/topic.cgi?forum=5&topic=36421&start=0&limit=1&m=3#1

Всего записей: 4 | Зарегистр. 08-03-2006 | Отправлено: 09:45 01-11-2012 | Исправлено: Alexerm, 09:50 01-11-2012
Andrey128

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

Цитата:
Цитата:Как сделать, чтобы имя выходного файла содержало версию без конечных нулей.  
-- например так:  

Спасибо на наводку!
Вот только руки дошли до обрезания.
Решил, что конечных нулей может быть не более 3 (1.0.0.0), ну и тупо сделал так:

Код:
#define TrimVersion(str Text) \
   (Copy(Text, RPos('.', Text), 2) == '.0') ? Text = Copy(Text, 1, RPos('.', Text)-1) : Text, \
   (Copy(Text, RPos('.', Text), 2) == '.0') ? Text = Copy(Text, 1, RPos('.', Text)-1) : Text, \
   (Copy(Text, RPos('.', Text), 2) == '.0') ? Text = Copy(Text, 1, RPos('.', Text)-1) : Text
#define AppVersion TrimVersion(GetFileVersion("MyApp.exe"))
 

Всего записей: 410 | Зарегистр. 16-01-2003 | Отправлено: 11:38 01-11-2012
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrey128 -- а если потребуется задать версию: 3.01.40.0 ?
И не совсем понял, что здесь делает GetFileVersion("MyApp.exe")? Чтобы использовать GetFileVersion, нужно знать имя файла. Но именно имя мы и пытаемся получить. Оно явно будет не MyApp.exe, а с версией в имени. Клинч. Или это совершенно сторонний файл, из которого ты получаешь версию?


----------
Для жалоб | Для благодарностей

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 15:46 01-11-2012
Habib2302



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как сделать так чтобы создавался ярлык в панели управления windows 7?

Всего записей: 533 | Зарегистр. 09-05-2012 | Отправлено: 22:33 01-11-2012
Robby

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Habib2302
ты бы с правилами написания сообщений ознакомился для начала...  
 
Добавлено:
Апплеты в панели управления, это обычные DLL, имеющие расширение .cpl (Control Panel Library) и располагающиеся в системной директории Windows. В свою очередь, в каждом файле cpl может храниться несколько апплетов. Cpl имеет единственную функцию точки входа CPlApplet(), через которую поступают все сообщения от панели управления.
Файлы .cpl из системной папки, автоматически загружаются при запуске панели управления. Обратите внимание, что файлы панели управления иногда загружаются с помощью записей в разделе [раздела MMCPL] файла Control.ini.  
Далее...

Всего записей: 881 | Зарегистр. 28-09-2003 | Отправлено: 22:42 01-11-2012
C0USIN



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогите написать скрипт, пожалуйста.
 
Есть такая задача:
  • Имеем папку с системными шрифтами Arial, Calibri, Cambria, Consolas, Courier, Meiryo, Segoe UI, Tahoma, Times New Roman
  • Необходимо обновить их в системе.  
  • Если в системе присутствует более свежая версия шрифта, то не заменять.
  • Почти все они заблокированы системой, поэтому замена должна быть с перезагрузкой компа
  • Если шрифта не было в системе, то корректно зарегистрировать его в реестре.


----------
Как же я люблю этот сайт! Столько интересных мыслей у людей, каждая обоснованная и аргументированная!

Всего записей: 2739 | Зарегистр. 18-07-2003 | Отправлено: 22:23 02-11-2012
YURSHAT



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

Цитата:
Ссылка на "Inno Setup Scripting 5.1  

 
если очень нужно, можно скачать у нас на сайте. Линк


----------
Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше... В.И. Ленин
Krinkels.org - сжатие данных и создание инсталляторов

Всего записей: 855 | Зарегистр. 07-11-2009 | Отправлено: 02:05 03-11-2012 | Исправлено: YURSHAT, 09:51 03-11-2012
Pantalone



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нет ли у кого примерчика как сделать кастомную страницу такого вида:
 
   
 
Интересуют только жирные пункты выбора и комментарии к ним.
 
Обычный код не работает:

Код:
 
procedure InitializeWizard;
begin
 
  UsagePage := CreateInputOptionPage(wpLicense,
    'Select installation option', 'How should My Program be installed?',
    'Select the desired installation option, then click Next.',
    True, False);
  UsagePage.Add('Install as a Windows Application'  + #13 +  'Много текста');
  UsagePage.Add('Install as a Windows Service'  + #13 +  'Много текста');
 
  UsagePage.SelectedValueIndex := 2;
 
end;
 

Получается каша из букв плохо читаемая:
 
   
 
И если можно подскажите как на этой странице можно отлавливать выбор пунктов для активации кнопки Next. Заблокировать я ее смог так:

Код:
 
procedure CurPageChanged(CurPageID: Integer);
begin
 
  if  CurPageID = UsagePage.ID then
  begin
    if (UsagePage.Values[0] = false) and (UsagePage.Values[1] = false) then
    WizardForm.NextButton.Enabled:=false
    else WizardForm.NextButton.Enabled:=true;
 
end;
 

А вот как разблокировать при выборе пункта?
 

Всего записей: 729 | Зарегистр. 16-02-2004 | Отправлено: 16:17 03-11-2012 | Исправлено: Pantalone, 16:19 03-11-2012
log1stable



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Pantalone, по-видимому там не просто caption для радиокнопки, а несколько лэйбелов. По-второму, надо or вместо and.

Всего записей: 146 | Зарегистр. 15-07-2011 | Отправлено: 18:57 05-11-2012
CTpaHNICK

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем! Как сделать прозрачным эту панель? (Пример ниже)

Всего записей: 5 | Зарегистр. 21-04-2010 | Отправлено: 09:48 07-11-2012
elchupakabra



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые, помогите пожалуйста осилить задачу.
При выборе определённого компонента:
1. запустить (до копирования файлов) сторонний (дополнительный) инсталлятор из {tmp} с заданными ключами установки.
2. удалить в {app} определённые папки ("мусорные", которые установит инсталлятор из пункта 1).
3. выполнить копирование (установку) файлов уже посредством основного inno-инсталлятора.
 
Заранее спасибо.

Всего записей: 1571 | Зарегистр. 05-11-2005 | Отправлено: 18:18 09-11-2012
R3Pa4eK



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
CTpaHNICK
Эм... так она и так прозрачная О_о

Всего записей: 963 | Зарегистр. 15-01-2011 | Отправлено: 22:59 10-11-2012
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, один маленький вопрос: при установке через ISDone (когда начинается работа с распаковкой архивов) если отменить установку (т.е. нажать отмена), то распаковка архивов заканчивается, и начинается распаковка архивов, запакованных самим компиллятором Inno, и только после этого запускается деинсталляция. Как сделать так, чтобы распаковка архивов Inno не начиналась, а сразу запускался деинсталлятор? Понятно дело, чтобы запустился обычный деинсталлятор, то нужно чтобы он сперва был создан, а создается он на финальном этапе установке. Как удалить в таком случае папку {app} без использования деинсталлятора? Отрывок из скрипта (чтобы вы лучше меня поняли)
 

Код:
 
...
 
if (CurStep = ssInstall) then begin
    WizardForm.CancelButton.OnClick := @CancelButtonOnClick;
 
...
 
if (CurStep=ssPostInstall) and ISDoneError then begin
    Exec2(ExpandConstant('{uninstallexe}'), '/VERYSILENT', false);
 
...
 

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

Страницы: 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 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
articlebot (13-10-2013 23:33): продолжение темы - №15


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru