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

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

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

Cheery



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

Предыдущие части
Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
All version | Исходники проекта
 
Последние версии:
Inno Setup 6.3.3 [12.07.2024]
Скачать (5,37 Mb)
 
Inno Setup QuickStart Pack (Unicode) 6.1.2 [15.11.2020]
Скачать (4.23 Mb)
 
Что нового? | Что нового v.6x?  
 
Русский язык для Inno Setup v6.x
Скачать
 
Русский язык для Inno Setup v5.x
Скачать
 
Русская справка к версии - 5.6.1 (Зеркало) | 6.0.0 beta | 6.x
 
Последняя версия с поддержкой 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 | Исправлено: boss911, 03:15 07-11-2024
audiofeel74



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ultimo
не помогло,
я принялся отматывать назад все что  "прикручивал" и дошел до  VCLStyle
из за него  так делается,  
может как то по другому можно сделать BorderStyle := bsNone;   ??

Всего записей: 12 | Зарегистр. 14-05-2013 | Отправлено: 12:13 30-01-2016
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
audiofeel74
Можно сделать BorderStyle := bsSingle или вообще удалить эту строку)
 
Не понимаю, в чем проблема. Сам проверил VCLStyle и параметр BorderStyle := bsNone, и все нормально.

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 13:04 30-01-2016
FONT_Studio

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

Цитата:
А это действительно необходимо, чтобы у каждого компонента был свой путь установки?

 
Да, два разных компонента, устанавливаются по разному пути (который берется из разных ключей реестра) и путь указывается в поле "DefaultDirName", для каждого компонента разный.
 
Просто хотел создать компактный установщик. Да ладно, сделаю два инсталлятора...  
 
Знаю, что способ реализации 100% есть, т.к. инсталляционный файл остался, а вот скрипт посеял (и не как не могу связаться с тем у кого брал скрипт)...
 
sjwrec Спасибо за помощь!!!!

Всего записей: 6 | Зарегистр. 27-01-2016 | Отправлено: 17:13 30-01-2016 | Исправлено: FONT_Studio, 17:14 30-01-2016
audiofeel74



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

Цитата:
Можно сделать BorderStyle := bsSingle или вообще удалить эту строку)  
 
Не понимаю, в чем проблема. Сам проверил VCLStyle и параметр BorderStyle := bsNone, и все нормально.

посмотри если есть время, может это у меня что то с темой   в Windows (стоит Win 10.14251)  
я его добавил что бы "украсить" формы "отмена" "выбор папки" и тд, он просто похож на графику  
по стилю очень сильно, (так что бы не заморачиваться)  
https://yadi.sk/d/jhdgy-RpnzNs8

Всего записей: 12 | Зарегистр. 14-05-2013 | Отправлено: 18:05 30-01-2016
ultimo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
audiofeel74
Действительно, фактический размер окна 457x343, а изображение 455x340. Без VCLStyle пробовал?

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



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ultimo
да пробовал, без нее все нормально, я Inno и Unicode ставил и Ansi, без разницы  

Всего записей: 12 | Зарегистр. 14-05-2013 | Отправлено: 19:31 30-01-2016
FONT_Studio

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, а можно как-то, сделать файл unins000.dat (unins000.exe) системным (невидимым при обычных условиях)???

Всего записей: 6 | Зарегистр. 27-01-2016 | Отправлено: 03:20 31-01-2016
elmorte



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер. Не могу победить элементарную задачу - найти и заменить текст в файле.
 
Перепробовал кучу примеров и со stackoverflow, oszone, пример из шапки - ни один не помог полностью решить задачу.  
 
Буду признателен за помощь.
 
Мой случай ниже.
 
Есть С:\file.txt c cодержимым:  

Код:
 
data textures=true
language="english"
settings ai=false
 

Интересует строка language=. Язык в файле может быть любым.
 
Задача минимум - найти в файле С:\file.txt текст language="english" и заменить на language="russian", задача максимум - независимо от значения языка - сделать language="russian".
 
Я сделал пример по аналогии с примером, но у меня ничего не выходит.
 
Вот мой вариант, но он меняет все строки в теле файла, не зависимо от содержимого:

Код:
 
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}\MyProg.exe
OutputDir=userdocs:Inno Setup Examples Output
 
[_code]
procedure RePlaceTextinFile(FilePath:string; find:string; replace:string);
var
  S: TStringList;
  i : Integer;
begin
  S:=tstringlist.create;
  S.LoadFromFile(FilePath);
for i := 0 to S.Count-1 do
 
begin
  S.Delete(i);
  S.Insert(i,find+'='+replace);
end;
  S.SaveToFile(FilePath);
end;
 
procedure InitializeWizard;
begin
  RePlaceTextinFile(ExpandConstant('C:\file.txt'),'language','"russian"');
end;
 

 
Заранее спасибо за помощь.

Всего записей: 40 | Зарегистр. 21-03-2006 | Отправлено: 21:28 31-01-2016 | Исправлено: elmorte, 21:29 31-01-2016
usermode

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
elmorte
а формат файла случайно не INI? раз:
data textures=true
language="english"
settings ai=false  
то судя по всему так и есть, тогда тебе поможет функция:
SetIniString
чтобы не изобретать очередной велосипед.

Всего записей: 473 | Зарегистр. 11-12-2014 | Отправлено: 22:39 31-01-2016 | Исправлено: usermode, 22:40 31-01-2016
sjwrec



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

Цитата:
Задача минимум - найти в файле С:\file.txt текст language="english" и заменить на language="russian"

Подробнее...

Цитата:
если путь в реестре и файл есть - то подставить в DefaultDirName такое - то значение (собранное из двух элементов).  если нет, то проверить путь 1, путь 2, путь 3 и т.д. если путь не найден, то предложить выбрать папку.

Подробнее...
 
FONT_Studio

Цитата:
Народ, а можно как-то, сделать файл unins000.dat (unins000.exe) системным (невидимым при обычных условиях)???

Подробнее...

Всего записей: 473 | Зарегистр. 01-10-2010 | Отправлено: 16:58 01-02-2016 | Исправлено: sjwrec, 17:43 01-02-2016
audiofeel74



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как сделать чтоб при разворачивании на весь экран (или изменение размера окна при  помощи мышки в ручную) кнопки и прочее Controls  не оставались там же а меняли координаты ? (для начала мне бы это все осилить без Botva)  
я понял так что координаты у меня привязаны к границе Wizard ( к левой ест.)   )  
BorderStyle := bsSizeable;

Всего записей: 12 | Зарегистр. 14-05-2013 | Отправлено: 02:13 02-02-2016
nik1967



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

Всего записей: 1076 | Зарегистр. 11-10-2006 | Отправлено: 10:02 03-02-2016 | Исправлено: nik1967, 11:22 03-02-2016
FONT_Studio

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nik1967 благодарю!!!
 
 
ВОПРОС
А можно при удалении программы выбирать компоненты (выбрать какой компонент удалять).
 
Например, при установке мы выбрали 4 компонента, а при деинсталляции, предоставить пользователю возможность выбрать , какие из компонентов он хочет удалить...

Всего записей: 6 | Зарегистр. 27-01-2016 | Отправлено: 22:06 04-02-2016 | Исправлено: FONT_Studio, 22:08 04-02-2016
MihailM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sjwrec , нужна помощь .. Как генерировать типа пароля или просто набор букв цифр .
А потом его подставить в текстовое окно и записать в файл . Такое нужно 2 раза . 2 раз чтобы через кнопку срабатывало . Такое можно сворганить в InnoSetup ?
p.s. это нужно для странички , типа CreateNickName ..

Всего записей: 2623 | Зарегистр. 19-10-2003 | Отправлено: 23:08 05-02-2016
usermode

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

Цитата:
Как генерировать типа пароля или просто набор букв цифр.

типа кейген на Inno?
 
простенький пример:
n1
n2

Всего записей: 473 | Зарегистр. 11-12-2014 | Отправлено: 23:40 05-02-2016 | Исправлено: usermode, 23:45 05-02-2016
MihailM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
usermode , слишком громоздкие .по проще нельзя типа брать из массива . Типа такого "йцукенгшщзфывапролджэячсмитьбю." и по позиции уже подставлять !

Цитата:
типа кейген на Inno?  
Нет генератор пароля !
А так спасибо за отклик .
Вот еще , а можно перед установкой при выборе определенного компонента - переименовать файл , который находится уже на диске . Нашел , только как переименновать , файл который в инсталяторе . А мне надо наоборот .
Возможно это как  сделать ?

Всего записей: 2623 | Зарегистр. 19-10-2003 | Отправлено: 01:03 06-02-2016 | Исправлено: MihailM, 01:46 07-02-2016
sjwrec



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

Цитата:
Нашел , только как переименновать , файл который в инсталяторе . А мне надо наоборот .  Возможно это как  сделать ?

 

Код:
 
[Files]
Source: "FileName.txt"; DestDir: "{app}"; BeforeInstall: BackUp; Flags: ignoreversion
 
[Code]
procedure BackUp();
begin
RenameFile(ExpandConstant('{app}')+'\FileName.txt',  ExpandConstant('{app}')+'\FileName.bak');
end;

 

 
Если переименовывать системные файлы, то может не получится, так как их охраняет Trusted Installer. Поэтому пример выше только для файлов не системных и находящихся не на системном диске. В противном случае работа кода не гарантирована.

Всего записей: 473 | Зарегистр. 01-10-2010 | Отправлено: 09:20 07-02-2016 | Исправлено: sjwrec, 09:44 07-02-2016
MihailM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да по 1-ому  примеру , там в цикле у тебя циферка 62 , я так понял это длина полученного пароля (набора цифр и букв) ?
sjwrec  не не , мне не системных , это типа апдейта чтоль что то похожее будет .

Всего записей: 2623 | Зарегистр. 19-10-2003 | Отправлено: 10:44 07-02-2016 | Исправлено: MihailM, 08:26 09-02-2016
sjwrec



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

Цитата:
62 , я так понял это длина полученного пароля (набора цифр и букв)

 
Нет - это количество символов в Table.
Смысл следующий:
 
Repeat читает по одному символу из никнейма, а for сравнивает его с Table прогоняя все 62 символа, пока не найдёт символ из никнейма.
Если найдёт то записывает его число из Table D в edit 2
 
Например на мой ник sjwrec - сгенерируется SteamAID = 362419

Всего записей: 473 | Зарегистр. 01-10-2010 | Отправлено: 18:50 07-02-2016
MihailM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sjwrec , ясно .
блин . а как тогда с рандомить . А то просто нужен какой нить пароль , по клику .
А то в этом языке , еще не разберусь .
А так вот мой пример :
Читать дальше..
Как то так , только я не знаю как правильно написать на этом языке .
 
Добавка :
sjwrec, кстати я стал смотреть твой код по переименованию файла . И задал себе вопрос , а зачем в коде секция
Цитата:
[Files]
Source: "FileName.txt";
Мне тогда же , надо будет файл все равно закидывать в инсталяшку .
Это тоже самое , получается и без кода ,если я возьму и просто положу уже переименованный  файл . А мне надо тупо переименовать уже  файл до инсталяции .

Цитата:
RenameFile(ExpandConstant('{app}')+'\FileName.txt',  ExpandConstant('{app}')+'\FileName.bak');  

А если просто строчку (выше) и закину эту строчку в код до инсталяции, то так же тоже можно будет переименовать файл  ?

Всего записей: 2623 | Зарегистр. 19-10-2003 | Отправлено: 20:44 07-02-2016 | Исправлено: MihailM, 23:26 09-02-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 152 153

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