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

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

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

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

   

Widok



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

Это мощное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно создавать свои страницы, используя Inno Setup Form Designer.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта.  
 
Последний релиз: 5.2.3 [10.03.2008]
История версий | скачать | все сборки || Скачать Preprocessor | все сборки
 
Русификатор от NightW0lf для версии 5.2.0
Скачать | зеркало
 
Русская справка к версиям 5.0.xx
Скачать | зеркало || cкачать в .chm формате
И снова BagIra на высоте
 
Руководство по расширенным возможностям Inno Setup 5 (не для чайников) от Kindly
Версия 5.1 скачать || версия 5 скачать|зеркало || версия 4 скачать|зеркало || версия 3 скачать|зеркало
 
Inno Setup Extensions Knowledge Base (содержит ответы на многие вопросы)
Новая версия (Web-интерфейс) || Старая chm-версия скачать | зеркало
 
Corona Skin & Check System Requirements от Victor_Dobrov
Скачать скрипт | зеркало | скриншот | описание | старая версия | InnoSetup Upgrade | Слайд-шоу
Обложка для Inno Setup. Сделает инсталлятор более симпатичным и добавляет расширения: Проверка минимальных требований. Расширенный прогрессбар. Расчёт времени до завершения распаковки. Список дисков. Слайдшоу или AVI-файл в фоновом окне. Компактный режим установки. Деинсталляция неучтённых файлов. Экран справки/скриншота. Медиаплеер и многое другое...
 
Примечание: начиная с версии 5.1.10 в Inno Setup при использовании в инсталляторе фонового изображения формата BMP стало глючить возможность растягивания картинки на весь экран - чтобы исправить добавьте этот код.
Если необходимо использовать метод проверки внешнего файла через сумму MD5 (который описан в 5 версии руководства от Kindly) для запуска инсталлятора, то понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. Если требуется узнать, какие ключи в реестр вносит та или иная программа, то понадобится RegShot.


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


Мощная надстройка для Inno Setup, при помощи которой создавать свои инсталляторы становится очень просто.
 
Последний релиз: 5.2.1 [15.10.2007]
Скачать | зеркало  
 
Русификатор
Скачать | зеркало

Распаковщик установок, сделанных с помощью Inno Setup. При распаковке извлекаются  ресурсы и скрипт установки (немного усечённый). Возможно подключение к Total Commander или FAR с помощью MultiArc плагинов.
Поддерживает распаковку инсталляторов, сделанных с помощью Inno Setup начиная с версии 3.0.0-beta по 5.2.3
 
Последний релиз: 0.20 [23.05.2008] New
Скачать  
 

Удобная оболочка для облегчения написания скриптов установки для Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
 
Последний релиз: 1.0.3.1 [23.03.2008]
Скачать | обновление | изменения
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.2.3.
 
Старая версия [ScriptMaker 5.1.6.9 от 09.07.2006]
Русификатор версии 5.1.5 от GloThin | зеркало | зеркало | зеркало пароль: ruboard

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

Длинные куски кода помещайте под тегом more, дабы дать возможность знатокам Inno Setup прочитать сам вопрос, а не пролистывать бесконечно длинные листинги скриптов в посте.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 17:33 25-09-2007 | Исправлено: juvaforza, 13:39 24-05-2008
JbBaD



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А какие еще скины существуют для Inno?
Нет ли в стиле Adobe CS3?

Всего записей: 563 | Зарегистр. 08-12-2001 | Отправлено: 13:21 05-10-2007
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В руководстве Kindly по расширенным возможностям есть несколько скинов от Sampron.

Всего записей: 743 | Зарегистр. 27-09-2005 | Отправлено: 17:21 05-10-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JbBaD
Здесь посмотри: http://data.cod.ru/1105821130

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 20:25 05-10-2007
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_Dobrov
http://www.rapidshare.ru/421708
Не подскажете, почему не сходится объём свободной памяти + объём используемой к объёму всей памяти?

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 22:06 05-10-2007
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iTASmania_Inc
Объём всей памяти показывается вместе с кэшем Биоса, интег. видео и прочее. (многие тесты показывают 1023, 510 ...) Объём занятой памяти выдаётся через API, там Биос, видео и прочее не учитываются.
 
P.S. не надоело к звуковой карте добавлять строку '(рекомендуется Creative X-Fi)', ведь реальной проверки названия в твоём тесте не происходит?

Всего записей: 743 | Зарегистр. 27-09-2005 | Отправлено: 03:05 06-10-2007
Cryzer



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, help'еры!
Я хочу вас очень-очень попросить помочь... Уж и не знаю, куда деваться...
Значит, проблема такова:
 
Предположим, в реестре ключ HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ani с параметром ProgID имеет значение IrfanView.ANI. Также присутствует ключ HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bmp с ProgID=IrfanView.BMP.
Далее, пользователь запускает мой инсталлятор и выбирает ассоциацию только с *.ani (потому что, к напримеру, у пользователя с *.bmp уже другая прога ассоц.). Он нажал "Установить" - всё завершилось. Теперь формат *.ani запускается этой программой. Но дело в том, что если в вышенаписанном ключе HKCU\...\FileExts\.bmp до установки уже было ProgID=IrfanView.BMP, то в настройках самой программы будет присутствовать (частичная) "ассоциация" с ним => и как следствие, после применении любых настроек (т.е. после нажатия "Применить" в окне) для полной ассоц. эта прога добавит ключи HKLM\SOFTWARE\Classes\... и формат *.bmp уже станет открываться в ней! Это нехорошо! Требуется следующее:
Пользователь выбрал ТОЛЬКО *.ani, поэтому надо, чтобы во время установки (во время создавания ключей) InnoSetup определил наличие (невыбранного формата) в HKCU\...\FileExts\.bmp в параметре ProgID значения IrfanView.BMP. Если IrfanView.BMP не существует (т.е. что-то другое написано или вообще нет ключа), то установка продолжается как обычно, если значение IrfanView.BMP присутствует, то оно меняется на "" (пустое).
И чтобы всё это было автоматически, без сообщений. И тогда всё будет так, как пользователю нужно.
 
Вот приведу маленький кусок своего скрипта:
 

Код:
...
[Components]
Name: "main\ass\ani"; Description: "*.ani"; Types: full custom_clean
 
[Registry]
...
;(тут у меня написаны строчки типа Root: HKLM; Subkey: "SOFTWARE\Classes\... для ассоциирования, не вижу смысла их вам расписывать)
...
Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ani"; ValueType: string; ValueName: ""; ValueData: ""; Components: main\ass\ani
Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ani"; ValueType: string; ValueName: "ProgID"; ValueData: "IrfanView.ANI"; Flags: uninsdeletevalue uninsdeletekeyifempty; Components: main\ass\ani
...

 
Я так понимаю, без Паскаля не обойтись... =((
 
Даже не знаю как поблагодарить тех, кто поможет реализовать данную фичу!!!

Всего записей: 102 | Зарегистр. 22-09-2007 | Отправлено: 14:23 06-10-2007 | Исправлено: Cryzer, 14:35 06-10-2007
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_Dobrov
Понятно. СПАСИБО. Я тоже об этом догадывался, но, правда, как-то не втом направлении.

Цитата:
реальной проверки названия в твоём тесте не происходит

В смысле? По-моему, проверка как раз есть, через Pos?
 
Добавлено:
Cryzer
Попробуйте так.

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 14:54 06-10-2007 | Исправлено: iTASmania_Inc, 16:02 06-10-2007
Cryzer



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iTASmania_Inc, спасибо Вам гигантское!!! Получилось!!!
 
У меня от радости в голове всплыли некоторые меня волнующие вопросы...
 
1) По прошлому ответу: всё как надо, спасибо... Только вот ещё задачка: ProgID остался пустым, что надо изменить в коде, чтобы удалялся ещё и сам параметр? А вдруг после удаления параметра ключ остаётся пустым...? Тогда оставлять его нет смысла... Не подскажите решение?
2) Глупый вопрос, стыдно очень: отличается ли (в reg-файле) пустой ключ реестра от ключа, в котором @=""?
3) Вот что ещё меня мучает: константа {username} сама по себе не работает, вроде... А мне она нужна. Если я правильно понял русский help, то надо определить имя пользователя через код... Поможете с написанием такого кода?
4) Вопрос про секцию [Components]: например, при установке пользователь выбрал формат *.dib, при этом автоматически поставилась галка на *.bmp. Или наоборот, убираешь галку с *.bmp и тогда также убирается она с *.dib. Как так сделать?

Всего записей: 102 | Зарегистр. 22-09-2007 | Отправлено: 17:00 06-10-2007 | Исправлено: Cryzer, 17:05 06-10-2007
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cryzer
1) Используйте RegDeleteKeyIfEmpty
 
Добавлено:
Хотя, учитывая то, что Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ani"; ValueType: string; ValueName: ""; ValueData: ""; Components: main\ass\ani; не будет пустым ключом, то лучше делать так: подробнее...
Пример показан для *.ani - если будет обнаружена запись IrfanView.ani, то она удалится, затем начнётся проверка - в противном случае, (при отсутствии такой записи в ключе) ничего не произойдёт.
 
Добавлено:
2) Насчёт реестра -  я там нуб, не смогу ответить. Однако, учитывая предыдущий пример, можно сказать, что отличие есть. @="" не является пустым ключом по умолчанию
3) Используйте ExpandConstant('{...}') - а вообще лучше бы указать, где используется константа.

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 18:56 06-10-2007 | Исправлено: iTASmania_Inc, 19:58 06-10-2007
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cryzer
    по четвёртому вопросу можно сделать так:
 
[Registry]  
...ЗНАЧЕНИЯ ДЛЯ BMP...; Components: main\ass\bmp main\ass\dib;
...ЗНАЧЕНИЯ ДЛЯ DIB...; Components: main\ass\dib main\ass\bmp;
 
iTASmania_Inc
Насчёт проверки названия звуковухи был не прав. (смутило то, что цвет строки остался зелёный)

Всего записей: 743 | Зарегистр. 27-09-2005 | Отправлено: 03:14 07-10-2007
Cryzer



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1) Ужас... если представить, что такую операцию надо проделать с 60 форматами, по три ключа для каждого! Итого 180 раз! И... никак проще не получится сделать?
Вот, например, тут удаляется значение вместе с параметром:

Код:
 
[Codе]
procedure CurStepChanged(CurStep: TSetupStep);
begin
if (CurStep = ssInstall) and (IsComponentSelected('main\ass\clp') = False) then
  if ExpandConstant('{reg:HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.clp,ProgID}') =  
'IrfanView.CLP' then
     RegDeleteValue(HKEY_CURRENT_USER, 'Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.clp', 'ProgID')

Нельзя ли что-нибудь дописать попроще, нежели предложил iTASmania_Inc, чтобы удалялся ключ, если он пустой. Можно ли вставить RegDeleteKeyIfEmpty. Если да, то как?
 
3) Например, вот где я использую:

Код:
 
[Files]
Source: "123\MyProg.exe"; DestDir: "{username}\Local Settings\Application Data\MyProg\

Как тут задействовать {username}?
 
 
Victor_Dobrov

Цитата:
    по четвёртому вопросу можно сделать так:  
 
[Registry]  
...ЗНАЧЕНИЯ ДЛЯ BMP...; Components: main\ass\bmp main\ass\dib;  
...ЗНАЧЕНИЯ ДЛЯ DIB...; Components: main\ass\dib main\ass\bmp;  

Спасибо!

Всего записей: 102 | Зарегистр. 22-09-2007 | Отправлено: 10:57 07-10-2007 | Исправлено: Cryzer, 11:06 07-10-2007
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cryzer
По третьему вопросу:
DestDir: "{userappdata}\My prog"
 
Добавлено:
По первому вопросу:
Можно и так.
Только я не думаю, что всегда будет срабатывать: см. ответ на вопрос 2.

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 11:50 07-10-2007 | Исправлено: iTASmania_Inc, 11:56 07-10-2007
NightW0lf



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_Dobrov
Есть замечание поповоду короны:
Почему-то корона при определении файла подкачки выдает   , а вот система выдает  в чем может быть трабла?

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 13:21 07-10-2007
Chanka

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И еще 0 мб показывает если нет видеокарты хотя сталкерский вариант показывает 64 мб  
Intel(R) 82865G графический контроллер (Корпорация Майкрософт - XDDM) (Standard), 0 Мб, 1280x1024 (32 bit)

Всего записей: 208 | Зарегистр. 24-08-2006 | Отправлено: 14:01 07-10-2007
Cryzer



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iTASmania_Inc
 
1) Хм... странно. Даже (при наличие IrfanView.ANI) если значение параметра "По умолчанию" не присвоено (т.е. ключ пустой), то при установке ProgID удаляется, а ключ - нет!
Тогда спрашивается: нафига нужен RegDeleteKeyIfEmpty? Ответ - для удаления пустых ключей... А почему у меня не удалился? :/. Может что-то не так делаю?
Попробуйте проверить, получится у Вас?
 
3) А разве {userappdata} не равен {sd}\Documents and Settings\USER\Application Data\?
Если, например, мне надо извлечь в DestDir: "{username}\Best_of_the_Best". Что тогда делать?
Цитата из FAQ'а: "{username} Имя пользователя, запустившего инсталятор или деинсталятор (результат функции GetUserName)". Как сделать такую функцию?

Всего записей: 102 | Зарегистр. 22-09-2007 | Отправлено: 14:11 07-10-2007
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NightW0lf
В Короне (как и во многих тестах), показываются значения виртуальной памяти, полученные через API. В средстве диагностики DirectX эти сведения называются Виртуальная память. В Диспетчере задач обозначены как Выделение памяти...
 
Chanka
Насчет определения объёма памяти встроенных Intel-видеокарт ничем помочь не могу. В Corona_kernel.iss есть комментарий: подсчёт памяти встроенных Intel-видеокарт не работает из-за того, что эти драйверы не создают ключ реестра HardwareInformation.MemorySize. В get_hw_caps.dll это определяется через DirectDraw, в Паскале для Inno не работает, это не Delphi

Всего записей: 743 | Зарегистр. 27-09-2005 | Отправлено: 15:02 07-10-2007 | Исправлено: Victor_Dobrov, 16:16 07-10-2007
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Chanka
Взято из комментариев к Короне:
{! подсчёт памяти встроенных Intel-видеокарт не работает, размер желательно получать через API > IDirectDraw:GetAvailableVidMem }
Не успел... Уже опередили.
 
Добавлено:
Cryzer
По поводу удаления пустых ключей - у меня всё работает. Проверьте скрипт ещё раз.
Насчёт GetUserName - "{username}\Best_of_the_Best" - это ИмяПользователя\Best_of_the_Best - туда должна устанавливаться программа?

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 15:03 07-10-2007 | Исправлено: iTASmania_Inc, 15:25 07-10-2007
Chanka

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iTASmania_Inc
Зачем же ты тогда вписал в свой скрипт?
    else
      VideoRAMPanel.Text := ' ' + DelSp(DeviceName) + ' (Standard), '+ ByteOrTB(DeviceValue/oneMB, False)

Всего записей: 208 | Зарегистр. 24-08-2006 | Отправлено: 15:22 07-10-2007
iTASmania_Inc



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

Цитата:
Зачем же ты тогда вписал в свой скрипт?

Извиняюсь.

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 15:26 07-10-2007
Cryzer



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

Цитата:
По поводу удаления пустых ключей - у меня всё работает. Проверьте скрипт ещё раз.

OK, проверю...
 

Цитата:
Насчёт GetUserName - "{username}\Best_of_the_Best" - это ИмяПользователя\Best_of_the_Best - туда должна устанавливаться программа?

Ну да, это я от балды взял. На самом деле путь таков: DestDir: "{username}\Local Settings\Application Data\ChemTable Software\Reg Organizer";

Всего записей: 102 | Зарегистр. 22-09-2007 | Отправлено: 16:00 07-10-2007
   

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru