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

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



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri, причем тут это , перечитываем и вникаем , что мне нужно .. зачем мне заново ХМЛ создавать если он уже есть  ?!!! )
Здесь нужно тупо прочитать файл , заменить и опять записать -  всё .. А так за пример спасибо, мож и пригодится когда нить .
Вот примерно так :

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 20:29 22-12-2017 | Исправлено: MihailM, 20:34 22-12-2017
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MihailM
Genri
 
С XML (если установить плагин nsisXML) умеет работать NSIS, но я когда мне было надо поменять там строки, то я просто позвал библиотеку Word Functions и не стал возится со структурой XML. Тут я бы поступил аналогично - рассматривать редактируемую строку не как элемент XML структуры, а как текстовую строку и править соответственно, но с учётом наличия XML тэгов как элемента строки.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 20:34 22-12-2017
MihailM



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG, ну да нет , то как я и описал выше , искомый текст я же знаю.. просто прочитал-поменял-записал  всё ..
 
Да и потом у меня файлик всего то 548 байт , как прочитать файлик то , по проще и полностью ,  а то что то в Инно не разу не использовал .. Да и в Паскале не бум-бум особо то .

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 20:37 22-12-2017 | Исправлено: MihailM, 00:30 23-12-2017
ZVSRus



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

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

Как я понял файл .xml у вас есть, что в нем написано вы знаете, вам нужно что то удалить и на удаленном месте написать своё, так?

Всего записей: 102 | Зарегистр. 13-11-2007 | Отправлено: 21:18 22-12-2017
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZVSRus
 
Я то же думаю так, и тут проще подготовить файл и перезаписать его при установке. Что типа (на языке NSIS):
 
SetOutPath "$INSTDIR"
SetOverwrite on
File /nonfatal "$src\my.manifes"
SetOverwrite try

 
- дать стубу инструкцию перезаписи файла в любом случае, а ключ /nonfatal превратит обработку ошибки "файл не найден" из критической ошибки в безобидный варнинг, и флаг IfErrors не будет взведён.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 21:48 22-12-2017
Genri

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

Цитата:
перечитываем и вникаем , что мне нужно .. зачем мне заново ХМЛ создавать если он уже есть  ?
-- полностью согласен Перечитываем и вникаем.. Еще раз внимательно перечитываем пример чтения параметра из XML-файла. Перечитывать до тех пор, пока не станет понятно как прочитать нужный параметр из существующего XML-файла. Когда вникнем, читаем пост ниже. И снова вникаем, как изменить прочитанный параметр и сохранить изменение.
Даже если вопрос понят неверно - это проблема того кто спрашивает (плохо объяснил суть проблемы), а не того кто отвечает
Так что, параллельно (раз уж все-равно читаем тему), учимся у других правильно задавать вопросы и вести диалог. Учимся до тех пор, пока не станет понятно, что "вникать" в ответы, в первую очередь, должен тот кто задает вопрос.

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

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 22:36 22-12-2017
MihailM



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
del...  
отбой , нафиг .. вроде бы всё объяснил 5 раз даже и примеры привел я еще и виноват )

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 23:22 22-12-2017 | Исправлено: MihailM, 11:02 23-12-2017
Genri

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

Цитата:
что я неправильно задал то ?
-- хм, по большому счету все неправильно. Изначально не был указан формат файла. До сих пор не указано что именно в нем надо менять. Не приведен пример изначального файла и что хотим видеть после изменений. Нет информации в какой момент инсталлятор должен произвести замену и т.д. Т.е. по большому счету, известно лишь: что-то где-то когда-то надо заменить на что-то Хотя вру: "где-то" частично известно - файл формата XML. Правда неизвестно где именно он находится по отношению к инсталлятору.
 
В честь наступающего праздника, я поясню, для чего я задаю дополнительные вопросы (хотя обычно я этого не делаю - если человек не хочет отвечать на доп.вопросы, это его проблемы. Пусть ищет решение сам).
 
Дело в том, что замену подстроки можно сделать самыми разными способами. У каждого способа есть свои недостатки и свои преимущества. Чтобы предложить оптимальное решение, необходимо точно представлять как начальные условия задачи, так и результат, которого хотят добиться.
Например, если заменяемая подстрока является полной одной строкой текста, можно использовать TStringList. Иногда, удобней штатная StringChangeEx. Кроме того, есть еще такая функция как Format. Если структура файла напоминает INI-файл - можно использовать GetIniString. Я на практике сталкивался с файлом конфигурации, который практически полностью соответствовал формату ини-файла, но без секции (только параметры). И вместо того чтобы парсить его ручками, мне было достаточно добавить в него первой строкой [TEMP] и дальше работать через штатные функции Inno.  
 
Теперь вернемся к нашему вопросу. Если я правильно понял, необходимо автоматизировать замену подстроки. Но я пока совершенно не понимаю, в какой момент это необходимо делать. Надо чтобы подстрока была изменена непосредственно перед компиляцией и результирующий файл включен в инсталлятор? Или надо изменить строку в файле в процессе инсталляции? И как я сказал выше - нет примера (что было и что стало). Тут ведь тоже много подводных камней. Ну например, ты все-таки настоял на использовании StringChangeEx. ОК. А потом выяснится, что в изначальном файле может быть как Bobo, так и bobo. Т.е. перед поиском надо еще приводить к одному регистру. А потом искомая подстрока случайно совпадет с другим параметром.. Ну и т.д. Так что, вопросы еще будут.

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

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 00:39 23-12-2017
MihailM



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

Цитата:
С XML (если установить плагин nsisXML)  

Тем более , если его надо ставить,то нужна наверное доп. ДЛЛ-ка ?!  

Цитата:
 Тут я бы поступил аналогично

вот вот , суть то не поменяется ...

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 00:41 23-12-2017 | Исправлено: MihailM, 00:42 23-12-2017
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MihailM
 
Да, и ещё надо разобраться как её звать - там вызов достаточно запутанный и потому оказалось проще работать со строками как с текстом.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33230 | Зарегистр. 31-07-2002 | Отправлено: 00:43 23-12-2017
MihailM



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri, ну вот написали пример , если вы такие умные .. Я же еще и дурак , как оказалось .. а по поводу путей , ну я же не полный дуб то .. С путями я то могу наверное разобраться )
Ладно закрыли вопрос , если вместо ответа и приведенных примеров , вы еще вопросы задаете ..  
Да и потом перечитаем не лично в ваш адрес ответы , другие хотя бы .. Я там вроде всё объяснил что и как и даже примеры кода привел из HELP-a.  Вот что из того что было , трудно было написать точнее ответить уже ..
 
Добавлено:
Victor_VG, вот вот , и я об этом же .. Я вон даже и не знаю как файл обычный прочитать в Паскале .. Хотя наверняка там всё просто .
 
 Кстати вот нашел похожий кусок кода :  

Код:
 
// Expands the configuration variables in the file to the right value based on the installation
// for the file and replaces the file.  Currently this only supports $BaseName$.
  procedure ExpandVariablesInFile(FileName: String);
  var
  data: String;
  begin
  if LoadStringFromFile(FileName, data) then
  begin
  StringChangeEx(data, '$BaseName$', baseName, True);
  StringChangeEx(data, '$Version$', baseName, True); True - что означает ?
 SaveStringToFile(FileName, data, False);  Здесь False - что означает ?
  end;  
  end;
 
procedure PostAfterInstall();
begin
  ExpandVariablesInFile(ExpandConstant('{app}\bin\CreateVdirs.bat'));
end;
 

 
Буду разбираться теперь ..

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 00:50 23-12-2017 | Исправлено: MihailM, 02:07 23-12-2017
Genri

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

Цитата:
закрыли вопрос , если вместо ответа и приведенных примеров , вы еще вопросы задаете .
-- ок. Закрыли


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

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 01:01 23-12-2017
nik1967



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

Цитата:
StringChangeEx(data, '$Version$', baseName, True); True - что означает ?  


Цитата:
SaveStringToFile(FileName, data, False);  Здесь False - что означает ?

Открываем справку к инно и смотрим:

Всего записей: 1076 | Зарегистр. 11-10-2006 | Отправлено: 09:58 23-12-2017 | Исправлено: nik1967, 10:00 23-12-2017
MihailM



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nik1967 , Ага, точно вспомнил , а то с Инно сталкиваюсь изредка .. спасибо !!!!  
Genri, это для вас :  
p.s. Всё ушел , не буду здесь даже и помощи просить , а то все нервные умные шибко )

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 10:46 23-12-2017 | Исправлено: MihailM, 13:30 23-12-2017
Valuev

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет, подскажите новичку как в качестве исполняемого (exe) файла указать файл **.html ?
Спасибо.

Всего записей: 168 | Зарегистр. 20-07-2007 | Отправлено: 21:21 23-12-2017
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MihailM
Мы не будем скучать
 
Valuev
а поподробней??

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 14:52 24-12-2017
se4a



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

Цитата:
Inno Setup QuickStart Pack (ansi) 5.5.9 [06.04.2016]  
Inno Setup QuickStart Pack (unicode) 5.5.9 [06.04.2016]
Расширенная версия от китайских собратьев.
Inno ISCmplr Setup 5.5.1 build 120726  

 
в "portable"-варианте ? И если "Да", то где "скачать" ?!
Заранее всем спасибо!

Всего записей: 240 | Зарегистр. 10-01-2012 | Отправлено: 15:40 24-12-2017
MihailM



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
se4a здесь поспрашивай http://forum.ru-board.com/topic.cgi?forum=55&bm=1&topic=13003&start=1880#lt ..  
 

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 15:43 24-12-2017
se4a



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MihailM, спасибо!
 
Про
Цитата:
http://forum.ru-board.com/topic.cgi?forum=55&bm=1&topic=13003&start=1880#lt
знаю, и хотел потом написать, а здесь, как-никак с этими прогами работают! Надеялся, кто-нибудь юзает!
 
Всех с наступающим Рождеством!  
 
_ttp://www.otkritka.my-clubs.ru/p/476155.html

Всего записей: 240 | Зарегистр. 10-01-2012 | Отправлено: 16:19 24-12-2017
MihailM



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
se4a, кстати если ты хотел всё в одной упаковке , то попробуй InnoUltra ..  

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 16:50 24-12-2017
Открыть новую тему     Написать ответ в эту тему

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