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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gnom3 я все заменил показывает цифры теперь 47241664
 

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 14:05 06-08-2013 | Исправлено: vint56, 14:08 06-08-2013
Gnom3



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
trolltmn
залей куданить с файлами, поковыряюсь.

Всего записей: 864 | Зарегистр. 14-11-2010 | Отправлено: 14:12 06-08-2013
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
trolltmn
[Files]
Source: DokanInstall_0.6.0.exe; DestDir: {tmp}; Flags: ignoreversion
 
[code]
function InitializeSetup(): Boolean;
 var
   res: integer;
 begin
   if not FileExists(ExpandConstant('{tmp}\DokanInstall_0.6.0.exe')) then ExtractTemporaryFile('DokanInstall_0.6.0.exe');
   Result := RegKeyExists(HKLM,'SYSTEM\CurrentControlSet\Services\Dokan');
   if not Result then
     begin
         Result := MsgBox('Правильная работа сборки требует Dokan Lybraries. Хотите установить Dokan Lybraries сейчас?',
         mbConfirmation, MB_YESNO) = idYes;
         if Result then
           Exec(ExpandConstant('{tmp}\DokanInstall_0.6.0.exe'), '/S', ExpandConstant('{tmp}'), SW_SHOW, ewWaitUntilTerminated, Res)
     end;
 end;

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 14:14 06-08-2013
Gnom3



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
не. DestDir: {tmp}; отработает уже в процессе установки, поэтому там нужно так:
[Files]
Source: DokanInstall_0.6.0.exe; Flags: dontcopy
и соответственно перед Exec распаковать. тоесть так:

Код:
function InitializeSetup(): Boolean;
 var
   res: integer;
 begin
   if not FileExists(ExpandConstant('{tmp}\DokanInstall_0.6.0.exe')) then ExtractTemporaryFile('DokanInstall_0.6.0.exe');
   Result := RegKeyExists(HKLM,'SYSTEM\CurrentControlSet\Services\Dokan');
   if not Result then
     begin
         Result := MsgBox('Правильная работа сборки требует Dokan Lybraries. Хотите установить Dokan Lybraries сейчас?',
         mbConfirmation, MB_YESNO) = idYes;
         if Result then
         begin
          ExtractTemporaryFile('DokanInstall_0.6.0.exe');
           Exec(ExpandConstant('{tmp}\DokanInstall_0.6.0.exe'), '/S', ExpandConstant('{tmp}'), SW_SHOW, ewWaitUntilTerminated, Res);
         end;
     end;
 end;

 
Библиотека для определения версии directX, в предидущем варианте был косяк - забыл сохранить изменения перед заливкой.
Ссылка интересна помимо прочего, корректность работы на анси.

Всего записей: 864 | Зарегистр. 14-11-2010 | Отправлено: 14:22 06-08-2013 | Исправлено: Gnom3, 14:29 06-08-2013
nik1967



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gnom3, зачем человека в заблуждение вводишь? Зачем два раза извлечение?  

Код:
if not FileExists(ExpandConstant('{tmp}\DokanInstall_0.6.0.exe')) then ExtractTemporaryFile('DokanInstall_0.6.0.exe');  

Код:
ExtractTemporaryFile('DokanInstall_0.6.0.exe');  

Всего записей: 1076 | Зарегистр. 11-10-2006 | Отправлено: 14:29 06-08-2013 | Исправлено: nik1967, 14:30 06-08-2013
Gnom3



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nik1967
упс, не разглядел
 

Код:
function InitializeSetup(): Boolean;
 var
   res: integer;
 begin
   Result := RegKeyExists(HKLM,'SYSTEM\CurrentControlSet\Services\Dokan');
   if not Result then
     begin
         Result := MsgBox('Правильная работа сборки требует Dokan Lybraries. Хотите установить Dokan Lybraries сейчас?',
         mbConfirmation, MB_YESNO) = idYes;
         if Result then
         begin
           if not FileExists(ExpandConstant('{tmp}\DokanInstall_0.6.0.exe')) then ExtractTemporaryFile('DokanInstall_0.6.0.exe');
           Exec(ExpandConstant('{tmp}\DokanInstall_0.6.0.exe'), '/S', ExpandConstant('{tmp}'), SW_SHOW, ewWaitUntilTerminated, Res);
         end;
     end;
 end;  

 
вот так будет правильно. Ибо не за чем распаковывать, если Dokan Lybraries не нужно устанавливать.

Всего записей: 864 | Зарегистр. 14-11-2010 | Отправлено: 14:30 06-08-2013 | Исправлено: Gnom3, 14:33 06-08-2013
trolltmn



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

Цитата:
залей куданить с файлами, поковыряюсь.

http://yadi.sk/d/lUN-QpHD7cZRN
 

Цитата:
vint56
не. DestDir: {tmp}; отработает уже в процессе установки, поэтому там нужно так:  

 
спасибо за помошь в реализации данного аспекта
UPD. Теперь слайдшоу пропало и остальные компоненты после реализации установки Dokan таким способом одно вылечили другое искалечили

Всего записей: 806 | Зарегистр. 30-01-2008 | Отправлено: 14:35 06-08-2013 | Исправлено: trolltmn, 14:50 06-08-2013
Gnom3



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

Цитата:
после реализации установки Dokan

не. никак не может влиять оно на компоненты и слайдшоу.  
MainPanel.Height := Height - 1; - делает MainPanel шириной во весь инсталл и соответственно закрывает его весь.
 
 
Добавлено:
trolltmn слегка причесал. со слайдшоу без костылей никак, но и длл-ка, которую ты используешь писалась года 4-5 назад и с современными версиями инно косовато работает.
Ссылка

Всего записей: 864 | Зарегистр. 14-11-2010 | Отправлено: 15:16 06-08-2013
sjwrec



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

Цитата:
пытался я тебе объяснить, что неверным путем ты идешь

 
А потому что правильным путём вы сказали около киллометра кода импорта... DX.
Пришлось искать путь в обход "горы". Кстати когда здесь был выложен Тест DX,  
никто не жаловался что не работает, просто тупо вылазил логотип, а дальше всё ОК.

Всего записей: 473 | Зарегистр. 01-10-2010 | Отправлено: 15:33 06-08-2013 | Исправлено: sjwrec, 15:48 06-08-2013
trolltmn



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

Цитата:
не. никак не может влиять оно на компоненты и слайдшоу.  

 
разобрался дело было не в бабине....
 
Упустил  
WindowVisible=yes
WindowResizable=no
WindowShowCaption=no
 

Цитата:
trolltmn слегка причесал. со слайдшоу без костылей никак, но и длл-ка, которую ты используешь писалась года 4-5 назад и с современными версиями инно косовато работает.

 
Спасибо огромное, пойду проверять.

Всего записей: 806 | Зарегистр. 30-01-2008 | Отправлено: 15:35 06-08-2013
sjwrec



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

Цитата:
Библиотека для определения версии directX

Скомпилил на своём: Inno Setup Compiler 5.5.1.ee1. (a) (build 121216)
 
Проверил:  
на XP SP2 x32: Показывает DirectX 9.0c - дальше ненужный мне хвост (полная версия).
на 7 x32:  Показывает DirectX 11 - без лишних хвостов, чему я очень рад.
 
А вот DX видекарты она не показывает.

Всего записей: 473 | Зарегистр. 01-10-2010 | Отправлено: 16:09 06-08-2013
Kapranov98



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите реализовать подхват файлов, которые нужно установить, из папки, лежащей рядом с инсталлером.

Всего записей: 479 | Зарегистр. 15-09-2012 | Отправлено: 16:42 06-08-2013
Gnom3



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

Цитата:
А вот DX видекарты она не показывает.  

показывает версию, которая будет работать в конкретно взятой системе. ибо даже если у тебя видеокарта у тебя ДХ11, то в ХР она все равно будет работать на 9-м. посему большого смысля ловить дальше не вижу.
Цитата:
Пришлось искать путь в обход "горы".

Ага. Только получается в твоем случае гора куда боольшая. Ибо ты запускаешь целое приложение, которое делает кучу дел, выполняет целые километры кода раде заветной циферки, плюс его выполнение носит все следы вирусной активности и поэтому нормальный антивирус просто обязан его блокировать. Поэтому этот путь неверный.

Цитата:
А потому что правильным путём вы сказали около киллометра кода импорта... DX

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

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

справка, секция [Files], флаги, флаг external

Всего записей: 864 | Зарегистр. 14-11-2010 | Отправлено: 17:02 06-08-2013
Kapranov98



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

Цитата:
 справка, секция [Files], флаги, флаг external

Может не до понял или ещё что-то, объясню по другому. Мне нужно, чтобы готовый setup.exe весил мало и подхватывал файлы из папки core, лежащей рядом с ним при установке. Всё это будет запаковано в 7-Zip и сделано SFX архивом, чтобы при запуске выполнялся setup.exe и подхватывал из распакованных файлов из папки core файлы для установки и ставил их.
 
Если правильно понял, то можно Source: C:\Program Files\Nightly\*; поменять, но тогда вопрос, как прописать путь до папки, которая будет лежать рядом с установщиком. Полный пусть не подходит, у всех разный может быть

Всего записей: 479 | Зарегистр. 15-09-2012 | Отправлено: 17:22 06-08-2013 | Исправлено: Kapranov98, 17:34 06-08-2013
Gnom3



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

Цитата:
как прописать путь до папки, которая будет лежать рядом с установщиком.

Опять-же. Справка. да-да - Ф1 - сила (я не о гранате )
константы - {src}. с предидущей подсказкой, получаем такое:

Код:
[Files]
Source: "{src}\Files\*"; DestDir: "{app}"; Flags: external createallsubdirs recursesubdirs;

папку Files с нужными файлами кладем рядом с инсталлом (если посмотреть в справку, то станет понятно, почему)
createallsubdirs - создаст по пути указанному в DestDir полное дерево каталогов из папки Files с корневой папкой указанной в DestDir.
recursesubdirs - скопирует все файлы из всех подпапок начиная от корня Source (в нашем случае это папка Files рядом с инсталлом), в папку указанную в DestDir с сохранением всех подпапок.
то-есть, все, что в папке Files рядом с инсталлом, окажется в папке {app} без самой папки Files

Всего записей: 864 | Зарегистр. 14-11-2010 | Отправлено: 17:48 06-08-2013 | Исправлено: Gnom3, 17:49 06-08-2013
Kapranov98



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

Цитата:
Цитата:
как прописать путь до папки, которая будет лежать рядом с установщиком.
 
Опять-же. Справка. да-да - Ф1 - сила (я не о гранате )
константы - {src}. с предидущей подсказкой, получаем такое:
 
Код:
[Files]
Source: "{src}\Files\*"; DestDir: "{app}"; Flags: external createallsubdirs recursesubdirs;
 
папку Files с нужными файлами кладем рядом с инсталлом (если посмотреть в справку, то станет понятно, почему)
createallsubdirs - создаст по пути указанному в DestDir полное дерево каталогов из папки Files с корневой папкой указанной в DestDir.
recursesubdirs - скопирует все файлы из всех подпапок начиная от корня Source (в нашем случае это папка Files рядом с инсталлом), в папку указанную в DestDir с сохранением всех подпапок.
то-есть, все, что в папке Files рядом с инсталлом, окажется в папке {app} без самой папки Files

Оу, огромное спасибо. Кажется получилось!

Всего записей: 479 | Зарегистр. 15-09-2012 | Отправлено: 18:09 06-08-2013
999Kay666

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

Цитата:
зачем огород городить

что сказать: вы гений. долой садоводство и спасибо

Всего записей: 85 | Зарегистр. 17-06-2008 | Отправлено: 18:45 06-08-2013
sjwrec



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

Цитата:
Но скомпилировать этот код в длл-ку и импортировать одну единственную функцию -  никто-же не запрещает?

 
Я скрипты Inno Setup -то с трудом понимаю, а Вы предлагаете мне сварганить библиотеку на профессиональных языках (Delphi, C++) ?
 
Да я там полный 0 . И учить их нет никакого желания.
 

Цитата:
выполнение носит все следы вирусной активности и поэтому нормальный антивирус просто обязан его блокировать

 
В самой проге я вируса не наблюдал. Да на API функиции в скрипте Inno антивирусник не ругался. Что там за вирус?
 

Цитата:
в ХР она все равно будет работать на 9-м. посему большого смысля ловить дальше не вижу.

 
А кто говорит про XP. Дело в том что это нужно чтобы не дать инсталлу возможности установить игру в систему, в которой видеокарта не поддерживает DX11. И только не надо говорить что у всех уже DX11 видеокарты. Я себе не раньше чем через год только куплю.
 
Пожалуйста сделайте библиотеку проверки DX видеокарты.

Всего записей: 473 | Зарегистр. 01-10-2010 | Отправлено: 19:30 06-08-2013 | Исправлено: sjwrec, 21:42 06-08-2013
Dark_Delphin



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет.
 
 Подскажите, пожалуйста, почему инсталлятор не прозрачный?
 Библиотеку прописал.
http://rghost.ru/47938429

Всего записей: 164 | Зарегистр. 17-04-2011 | Отправлено: 21:01 06-08-2013
sjwrec



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dark_Delphin
Пробывал переместить код работы библиотеки в конец процедуры Initialize Wizard. Инстал стал прозрачным как надо, но сам инсталл при этом в центре чёрный. Тоже не могу понять что с этим скриптом.  

Всего записей: 473 | Зарегистр. 01-10-2010 | Отправлено: 21:35 06-08-2013
   

Страницы: 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