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

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

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

Widok (23-04-2007 18:02): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

haav



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

 
 
Это мощное средство для создания установочных пакетов [дистрибутивов] программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно легко самим создавать диалоги, используя спец. дизайнер. И всё это абсолютно бесплатно! По сравнению с NullSoft [основной конкурент на бесплатной ниве] мне albel понравилась более интуитивно-понятная структура скрипта, простота в настройке.  
 
Последний релиз: 5.1.11 [1 Марта 2007 года]
История версий | скачать  
 
Русификатор от NightW0lf для версии 5.1.11  
Скачать | зеркало
 
Русская справка к версиям 5.0.xx
Скачать | зеркало || cкачать в .chm формате
И снова BagIra на высоте
 
Руководство по расширенным возможностям Inno Setup 5 [не для чайников] от Kindly
[3 версия]  
Скачать | зеркало
[4 версия]  
Скачать | зеркало
[5 версия]  
Скачать | зеркало
 
Inno Setup Extensions Knowledge Base  
Скачать | зеркало
 
Примечание: начиная с версии 5.1.10 в Inno Setup при использовании в инсталляторе фонового изображения формата BMP стало глючить возможность растягивания картинки на весь экран - чтобы это исправить добавьте этот код.
Если вы захотите использовать метод проверки внешнего файла через сумму MD5 [который описан в 5 версии руководства по программированию в Inno Setup] для запуска инсталлятора то вам понадобится калькулятор суммы MD5, калькулятор сумм MD5, SHA-256, CRC32. Если вы хотите узнать какие ключи в реестр вносит та или иная программа [или игра] то Вам понадобится RegShot.



Дополнительные утилиты для Inno Setup



ISTool
 
www.istool.org
 
Последний релиз: 5.1.8 [18 Октября 2006 года] New
Скачать | зеркало  
[как сказано в описании изменений, добавлена поддержка новых директив 5.1.8]
 
Русификатор
Скачать | зеркало


 
Распаковщик установок, сделанных с помощью Inno Setup. При распаковке извлекаются  ресурсы и скрипт установки [немного усечённый]. Возможно подключение к TotalCommander или FAR с помощью MultiArc плагинов.
 
Поддерживает распаковку инсталляторов, сделанных с помощью Inno Setup начиная с версии 3.0.0-beta по 5.1.10
 
Последний релиз: 0.19
Скачать | зеркало


 
Удобная оболочка для облегчения написания скриптов установки для INNO SETUP. Обладает некоторыми полезными функциями, которых нет ни у самого INNO, ни у ISTool.
 
Последний релиз: 5.1.6.9 [09 Июль 2006 года]
Скачать 4.2 мб | обновление 3.1 мб
 
Русификатор от GloThin
Скачать с сайта GloThin | Зеркало | Зеркало | зеркало
Пароль: ruboard
Примечание: офф. сайт косо отображается в Oper`е.
 
Новое название проекта на сайте, похоже произошла замена ScriptMaker на:
 
Inno Script Generator

Последний релиз: 1.02.5 [02 Апреля 2007 года]
Скачать | обновление
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.1.11.

Всего записей: 67 | Зарегистр. 11-12-2001 | Отправлено: 15:23 09-10-2002 | Исправлено: NightW0lf, 15:16 15-04-2007
SyCraft



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброго времени суток
Вопрос вот созерел:
Как можно зделать так что бы инсталер заносил в INI файл сложные "трех этажные значения"
напрмер нужно в файл def.ini, в секцию BoX задать параметру Item, "555555" дать значение =Copy image address & Execute Program,"GetFileSize.exe","/url:%c"  
 
Подскажите пожалуйста!

Всего записей: 618 | Зарегистр. 09-03-2005 | Отправлено: 16:58 10-05-2006
boss911



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

Код:
 
[Соdе]
procedure DeinitializeUninstall;
begin
RegWriteMultiStringValue( HKLM,  'SYSTEM\CurrentControlSet\Control\Session Manager','PendingFileRenameOperations','\??\{localappdata}\File.dll');
end;
 

так вот при дэинсталяции ключик создаетса, но инсталятор не отрабатывает переменную {localappdata}, то есть не подставляеть нужный путь, а прописывает в реестр, прямо так как указано в сркипте ( то есть прямо так и вносит: \??\{localappdata}\File.dll ) !! И еще, чтоб ключ правильно сработал, обязательно нужно, чтоб после строки создались еще две пусты строки, вот как сделано у меня тут:

Код:
 
[Registry]
Root: HKLM; Subkey: SYSTEM\CurrentControlSet\Control\Session Manager; ValueType: multisz; ValueName: PendingFileRenameOperations; ValueData: \??\{localappdata}\File.dll{break}{break}
 

то есть после значения ставитса константа {break}, вот она и определяет, сколько надо проставить пустых строк, только в паскале это не прокатывает!!
 
Короче, как добитса того, чтоб распознавалась правильно переменная и подставляла правильный путь в реестре и, как сделать, чтоб создавались пустые строки до или после значения ( типа как константа {break} ) !! Спасибо, очень на Вас уповаю!!!

Всего записей: 3700 | Зарегистр. 29-01-2005 | Отправлено: 23:17 10-05-2006 | Исправлено: boss911, 23:29 10-05-2006
Zabo4ka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите чайнику,неразбирающемуся в code!
При установке можно выбирать папку,куда устанавливать прогу.
При установке нужно внести в реестр данные из .reg файла.
Проблема в том,что в .reg файле содержится инфа,а именно-директория установки и диск.с которго проводилась установка.Мне нужно заставить Inno Setup изменять эти пути в рег файле перед импортом реестр таким образом,чтобы они соответствовали тем,что я выбираю в инсталляторе перед установкой.

Всего записей: 608 | Зарегистр. 23-04-2005 | Отправлено: 00:47 11-05-2006 | Исправлено: Zabo4ka, 00:49 11-05-2006
feandy



Пиво тоже компонента
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
boss911
для подстановки значения переменной и записи пустых строк попробуй так
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager"; ValueType: multisz; ValueName: "PendingFileRenameOperations"; ValueData: "\??\"+ExpandConstant('{localappdata}')+"\File.dll"+#0+#0;

Всего записей: 5200 | Зарегистр. 15-02-2002 | Отправлено: 08:19 11-05-2006 | Исправлено: feandy, 08:22 11-05-2006
SyCraft



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
feandy
 Как можно зделать так что бы инсталер заносил в INI файл сложные "трех этажные значения"
напрмер нужно в файл def.ini, в секцию BoX задать параметру Item, "555555" дать значение =Copy image address & Execute Program,"GetFileSize.exe","/url:%c"  

Всего записей: 618 | Зарегистр. 09-03-2005 | Отправлено: 09:57 11-05-2006
Zabo4ka



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

Всего записей: 608 | Зарегистр. 23-04-2005 | Отправлено: 17:23 11-05-2006
feandy



Пиво тоже компонента
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zabo4ka
Аналогично написанному мной выше
только переменная другая а именно ExpandConstant('{app}') укажет на ту папку, в которую установлена прога

Всего записей: 5200 | Зарегистр. 15-02-2002 | Отправлено: 23:07 11-05-2006
Zabo4ka



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

Всего записей: 608 | Зарегистр. 23-04-2005 | Отправлено: 08:52 12-05-2006
chum2000

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть такая секция
[Registry]
почитай о ней в помощи
 
вот мой кусочек где ValueData у меня и пишется выбранный каталог. Функцию ExpandConstant использовать в этом случае НЕ надо
 
Root: HKLM; Subkey: SOFTWARE\Oviont\Buh; ValueType: string; ValueName: DIRECTORY; ValueData: {app}; Components: ProgFiles

Всего записей: 505 | Зарегистр. 04-03-2004 | Отправлено: 10:22 12-05-2006 | Исправлено: chum2000, 10:22 12-05-2006
Zabo4ka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
chum2000
Спасибо большое,всё работает!
Только,мне,как оказалось,нужно таким-же образом ещё и букву дисковода (с которого проводилась установка) таким-же образом прописать.Это как сделать?Я читал ридми про реестр,но там всё в общем описано,а я ж чайник...

Всего записей: 608 | Зарегистр. 23-04-2005 | Отправлено: 20:41 12-05-2006
Dust112



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Обновился Istool до 5.1.6 _http://www.istool.org/files/istool-5.1.6.exe

Всего записей: 175 | Зарегистр. 13-12-2002 | Отправлено: 16:20 13-05-2006
chum2000

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

Всего записей: 505 | Зарегистр. 04-03-2004 | Отправлено: 11:18 14-05-2006
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
feandy
 
Спасибо за помощь!! Скрипт не зарабоатл, но один знакомый мне чуть его подделал и все заработало, вот как надо было:

Код:
[Соdе]
procedure DeinitializeUninstall;
Var OldString:String;
begin
RegQueryMultiStringValue(HKLM,'SYSTEM\CurrentControlSet\Control\Session Manager','PendingFileRenameOperations',OldString);
If (OldString<>'') Then OldString:=OldString+#0;
RegWriteMultiStringValue(HKLM,'SYSTEM\CurrentControlSet\Control\Session Manager','PendingFileRenameOperations',OldString+'\??\'+ExpandConstant('{localappdata}')+'\File.dll'+#0+#0);
end;
 

 
Еще у меня был вопрос:

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

Код:
[Files]  
Source: C:\MyFolder\shell32.dll; DestDir: {sys}
 

 

Вот ответ:

Цитата:
 
allowunsafefiles
 
Отменяет автоматическую проверку компилятором ненадежных файлов. Строго рекомендуется НЕ ИСПОЛЬЗОВАТЬ этот флаг, если вы не очень понимаете, зачем его ставите.
 

Короче русский хелп рулит, спасибо конечно BagIra, он действительно на высоте!! Я раньше в хелп не заглядывал, так как он был английский., а теперь все от туда черпаю!! Короче спасибо всем, еще раз удостоверяюсь, что хороший у Вас форум, много чего есть!!

Всего записей: 3700 | Зарегистр. 29-01-2005 | Отправлено: 22:13 14-05-2006 | Исправлено: boss911, 22:17 14-05-2006
chum2000

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zabo4ka
 
Ответ на твой вопрос. Тебе нужно написать например следущее  
 
Root: HKLM; Subkey: SOFTWARE\Oviont\Buh; ValueType: string; ValueName: SourceDisk; ValueData: {drive:{src}}; Components: ProgFiles
 
в результате будет записан диск с которого производилась установка (например d: (БЕЗ слеша!!!))
 
 

Всего записей: 505 | Зарегистр. 04-03-2004 | Отправлено: 18:13 15-05-2006
Zabo4ka



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

Всего записей: 608 | Зарегистр. 23-04-2005 | Отправлено: 16:53 16-05-2006 | Исправлено: Zabo4ka, 17:02 16-05-2006
chum2000

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну просто надо вместо  {sys} писать {win}. А потом можно проще
 
Filename: "{app}\имя файла.reg"; StatusMsg: "Внесение изменений в реестр..."; Flags: shellexec
 
 
Добавлено:
а вообще полезно помощь почитать, а если с англицким беда, то в шапке есть ссылка на русский файл помощи. и ещё для тебя было бы удобно пользоваться ISTool.
 
Успехов

Всего записей: 505 | Зарегистр. 04-03-2004 | Отправлено: 18:36 16-05-2006
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе время суток Всем! Опять требуетса Ваша помощь!! Опять же по ужасномуному для меня языку Паскаль и секции [Соdе]
 
Идея такая, чтоб пропатчить (заменить НЕХ значения или как там оно) в одном файле (File.dll),  мне сказали, что тиоретически это возможно написать в Паскале и даже вроде смогут написать, но всеровно хочу спросить сперва у Вас
 
Короче инсталятор копирует внешний файл (File.dll) себе в {app}\PackFiles\File.dll , потом код определяет версию файла (задано будет 2 версии и для каждого свое применения) и патчет его!
 
Версия 1.0, тут надо "проНЕХить" следующие значения:

Код:
 
00000140: D5 AA
00000141: C8 BB
0001BA1A: 83 33
0001BA1B: EC C0
0001BA1C: 1C C9
0001BA1D: 56 C2
0001BA1E: 8D 04
0001BA1F: 4D 00
0001BB8C: 33 81
0001BB8D: F6 EC
0001BB8E: 8B 88
0001BB8F: C6 00
0001BB90: C9 00
0001BB91: C2 00
0001BB92: 08 A1
0001BB93: 00 18
000359FE: 00 01
 

Версия 2.0:

Код:
 
00000140: F7 DE
00000141: 11 8B
00000142: 04 03
00019A7C: 81 33
00019A7D: EC F6
00019A7E: 88 8B
00019A7F: 00 C6
00019A80: 00 C9
00019A81: 00 C2
00019A82: A1 08
00019A83: 18 00
 

Еще очень важно, чтоб это ппроисходило после того, как файл скопировался в нужную директорию, потом его патчнуло, то еть сперва отрабатываетса секция [Files], а потом уже [Run] !!!
Черкните пожайлуста, что кто знает как оно вообще должно выглядить в сркрипте для Inno Setup , если гемор писать сам код на Паскале, то можете просто написать как должно это выглядеть, надеюсь сам код мне напишут!!
 
Извеняюсь, может я не правильно как-то, где-то выразился, просто для меня програмированние - далекий коссмос

Всего записей: 3700 | Зарегистр. 29-01-2005 | Отправлено: 01:36 17-05-2006 | Исправлено: boss911, 01:46 17-05-2006
feandy



Пиво тоже компонента
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
boss911
Теоритически возможно. Но я бы сделал маленькую прогу патчер и запускал ее из инсталятора.

Цитата:
то еть сперва отрабатываетса секция [Files], а потом уже [Run]

А так оно и происходит  

Всего записей: 5200 | Зарегистр. 15-02-2002 | Отправлено: 09:13 17-05-2006
Kindly



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для boss911
Гы... Чтобы пропатчить в Inno Setup нуно использовать спец. dll для этого, bindiff.dll вроде. Ее механизм и способ применения можно узнать в Patch Factory, см.
http://forum.ru-board.com/topic.cgi?forum=35&topic=14003&start=80#lt
Патчи, создаваемые данной программой основаны на инсталляторе Inno Setup. Но прога очень гиморная, рекомендую изучить дефолтный скрипт и разобраться в вызове процедур пропатчивания. Самому же очень влом, т.к. я бы маленький внешний патчик лучше смастерил и запускал бы его вообще отдельно.

Всего записей: 3000 | Зарегистр. 04-08-2005 | Отправлено: 12:32 17-05-2006
boss911



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

Цитата:
сделал маленькую прогу патчер и запускал ее из инстал

Конечно можно и так, только я с програмированием не как, вот и прошу вашей помощи, напишите кто может, плиз, только есть к Вам маленькие условия:
 
прога должна сама распазновать врсию файла и применять для каждого свой код пропатчивания;
 
прога должна не выдавать не каких сообщений\окон и имела возможность работать с ключами где можно указать путь к файлу, то есть чтоб работала с командной строки, примерно так:  

Код:
Patcher.exe {app}\PackFiles\File.dll

Версии файлов, что я дал выше, они подставные, так что я сейчас дам точные версии файлов и соответстующие к имм значения:
 
6.0.2900.2180

Код:
 
00000140: D5 AA
00000141: C8 BB
0001BA1A: 83 33
0001BA1B: EC C0
0001BA1C: 1C C9
0001BA1D: 56 C2
0001BA1E: 8D 04
0001BA1F: 4D 00
0001BB8C: 33 81
0001BB8D: F6 EC
0001BB8E: 8B 88
0001BB8F: C6 00
0001BB90: C9 00
0001BB91: C2 00
0001BB92: 08 A1
0001BB93: 00 18
000359FE: 00 01
 

6.0.2900.2523

Код:
 
00000140: F7 DE
00000141: 11 8B
00000142: 04 03
00019A7C: 81 33
00019A7D: EC F6
00019A7E: 88 8B
00019A7F: 00 C6
00019A80: 00 C9
00019A81: 00 C2
00019A82: A1 08
00019A83: 18 00
 

Вы наврено уже догадались, что я собераюсь патчить! Названия файла я тоже взял условное, а то еще админы заругаютса, я так понял его название не будет играть роли в написание патчера, видь путь к файлу будет указыватса патчеру самостоятельно через командную строку (или инсталятора)!!  
Да вот еще, наверное это надо постить уже в другую тему, так как тут обсуждаетса Inno Setup , если не трудно скажите где такое обсуждаетса или адмны не будут ругатса, если тут еще появитса пару сообшений не в ту степь!! Помогите люди добрые, спасибо!!!

Всего записей: 3700 | Зарегистр. 29-01-2005 | Отправлено: 17:36 17-05-2006 | Исправлено: boss911, 17:43 17-05-2006
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
Widok (23-04-2007 18:02): лимит страниц. продолжаем здесь


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru