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

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

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

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

   

Widok



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

Это мощное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно создавать свои страницы, используя Inno Setup Form Designer.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта.
 
Последний бета релиз: 5.3.1-beta [15.05.2009]
Последний стабильный релиз: 5.2.4 [01.04.2009]
Что нового? | Что нового в версии 5.3-beta? | Все сборки
 
Inno Setup Compiler 5.2.3 090506 - расширенная версия от ResTools | зеркало
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
 
Русификатор версии 5.2.0 от NightW0lf | зеркало
 
Русская справка к версии 5.0.x, автор перевода BagIra | зеркало || cкачать в .chm формате
 
Inno Setup Scripting 5.1 - Руководство по расширенным возможностям Inno Setup от Kindly
версия 5 скачать | зеркало || версия 4 скачать | зеркало || версия 3 скачать | зеркало
 
Inno Setup Extensions Knowledge Base (содержит ответы на многие вопросы) | старая chm-версия  
 
Коллекция скриптов и Сборник вопросов, собранных из этой и предыдущих частей топика.
 
Corona Skin & Check System Requirements от Victor_Dobrov
Скачать | зеркало | скриншот | описание | старая версия || InnoSetup Upgrade || Слайд-шоу
Обложка для Inno Setup. Сделает инсталлятор более симпатичным и добавляет расширения: Проверка минимальных требований. Расширенный прогрессбар. Расчёт времени до завершения распаковки. Список дисков. Слайдшоу или AVI-файл в фоновом окне. Компактный режим установки. Деинсталляция неучтённых файлов. Экран справки/скриншота. Медиаплеер и многое другое...
 
InnoTools Downloader 0.3.5 [15.10.2008] от Sherlock Software
Это скрипт и DLL, которые позволяют вам скачивать файлы с HTTP или FTP из вашей инсталяционной программы.
Скачать (400 Kb) | Что нового?
 
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - обсуждение того, какими утилитами/способами лучше сжимать, чтобы получить как можно меньший размер инсталятора.
 
Примечание: Если необходимо использовать метод проверки внешнего файла через сумму MD5 (который описан в 5 версии руководства от Kindly) для запуска инсталлятора, то понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. Если требуется узнать, какие ключи реестра меняет та или иная программа, используйте RegShot. Чтобы растянуть фоновый рисунок на весь экран, в версии Inno Setup 5.1.10 и выше используйте этот код.

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


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

Простой мастер создания скрипта для установки одной или нескольких игр. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации.
 

Прежнее название ScriptMaker. Удобная оболочка для облегчения написания скриптов установки для Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
 
Последний релиз: 1.0.3.1 [23.03.2008]
Скачать | обновить (нужен QuickStartPack 5.2.3)

Распаковщик инсталляторов, созданных с помощью Inno Setup, начиная с версии 3.0.0-beta по 5.2.4. Извлекает ресурсы и скрипт установки (без секции Code). К Total Commander или FAR подключается с помощью MultiArc плагинов.
 
Последний релиз: 0.21 [21.04.2009]
Скачать | Расширенная версия (с поддержкой русского языка)
 

Программа для создания и добавления в инсталлятор кастомных скинов. Изменить можно практически любой элемент окна.
Инструкция по добавлению нужных кусков кода в скрипт (английский язык).
 
Последний релиз: 2.0.0.0 [18.09.2008]
Скачать | Зеркало

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

Объёмные скрипты или части кода заключайте в тег more, чтобы ваш вопрос в сообщении не затерялся среди множества строк прилагаемого скрипта.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:26 29-12-2008 | Исправлено: boss911, 17:49 15-05-2009
Don_Juan



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

Код:
[code]
 
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if ( CurUninstallStep = usPostUninstall ) then
    If DirExists(ExpandConstant('{app}') + '')
  then
  if MsgBox('Удалить файлы не входящие в пакет установки игры?', mbConfirmation, mb_YesNo) = idYes then
  begin
    DelTree(ExpandConstant('{app}')+ '', True, True, True);
  end;
end;

Всего записей: 47 | Зарегистр. 15-10-2008 | Отправлено: 22:33 30-01-2009
Serega0675



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Don_Juan
Не совсем понятно, что вы хотите сделать, может проще этот код не использовать? Либо удаление прописывайте каждой подпапки отдельно, т.е.  
 
DelTree(ExpandConstant('{app}\Papka1'), True, True, True);
DelTree(ExpandConstant('{app}\Papka2'), True, True, True);  
 
Насколько помню, можно удалять файлы по маске, приблизительно так:
 
DelTree(ExpandConstant('{app}\*.exe'), False, True, False);  
 

Всего записей: 226 | Зарегистр. 22-06-2008 | Отправлено: 23:14 30-01-2009 | Исправлено: Serega0675, 23:18 30-01-2009
Don_Juan



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serega0675
 
Просто понимаете, до того как начнётся деинсталляция игры, у меня появляется сообщение «Удалить сохранения и файлы настроек игры?» Если пользователь нажимает  «да», то папка с сейвами удаляется, а если нажмет, «нет», то соответственно ничего с ней не происходит. Далее программа удаляется и в случае обнаружения «левых» файлов появляется соответствующее сообщение и предложения эти файлы удалить. То есть срабатывает тот код, который я представил. Так вот проблема в том, что этот код считает папку с сейвами «левыми» файлами. Вот я и спрашивал, как можно сделать, чтобы этого не было. Чтобы этот код папку эту не видел и не трогал её. Но, наверное, Вы правы лучше тогда просто не использовать этот код.

Всего записей: 47 | Зарегистр. 15-10-2008 | Отправлено: 23:41 30-01-2009
Sig666

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SotM
 
Благодарю, в следующий раз так и поступлю

Всего записей: 134 | Зарегистр. 15-01-2008 | Отправлено: 01:02 31-01-2009
GRom V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите как можно указать сдесь путь:....{win}, %windir% и %SystemRoot% не прокатывает
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run', '9', '%windir%\tets.txt');

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 08:29 31-01-2009 | Исправлено: GRom V, 08:41 31-01-2009
Serega0675



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

Цитата:
Подскажите как можно указать сдесь путь

так:
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run', '9', ExpandConstant('{win}\tets.txt'));
 
При деинсталляции придётся второй раз прописывать этот ключ, т.к. сам он не удалится, мне кажется удобней использовать секцию [Registry]...

Всего записей: 226 | Зарегистр. 22-06-2008 | Отправлено: 09:24 31-01-2009 | Исправлено: Serega0675, 10:02 31-01-2009
GRom V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serega0675
Огромное спасибо - то что надо

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 10:31 31-01-2009
stNeko



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как удалить пункт из окна выбора компонентов при наступлении какого-либо определенного условия?

Всего записей: 32 | Зарегистр. 15-10-2007 | Отправлено: 12:47 31-01-2009
Serega0675



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

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

так

Всего записей: 226 | Зарегистр. 22-06-2008 | Отправлено: 13:03 31-01-2009
LordVeider



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Новая задача.
Имеется такая структура компонентов:

Цитата:

--АА
----АА1
----АА2
--АВ
----АВ1
----АВ2
----АВ3

Компоненты самого низкого уровня (AA1, AB1 etc) имеют флаг exclusive.
Задача: сделать так, чтобы  
1. При снятии выбора с А снимался выбор и со всех его подкомпонентов.
2. При выборе А автоматически выбирался хотя бы один подкомпонент 3 уровня для каждого компонента 2 уровня. Т.е. нельзя снимать выбор с компонентов АА и АВ.
На первый взгяд всё просто - применить к компонентам 2 уровня флаг Fixed. Однако в этом случае нельзя будет снять выбор с А, что не катит вообще.
Флаг exclusive на AA и AB повесить тоже нельзя, ибо должны быть выбраны одновременно оба, а не только один.
Жду советов =)

Всего записей: 103 | Зарегистр. 04-11-2008 | Отправлено: 14:22 31-01-2009 | Исправлено: LordVeider, 14:35 31-01-2009
Artem_Butenko



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

Всего записей: 725 | Зарегистр. 19-02-2008 | Отправлено: 17:46 31-01-2009
stNeko



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serega0675, штука интересная.. но моё условие: если версия одного из файлов в папке назначения не совпадает с указанной, то компонент скрывается. С указаным кодом это не пройдёт... -(
 
 

Всего записей: 32 | Зарегистр. 15-10-2007 | Отправлено: 19:10 31-01-2009
Serega0675



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
stNeko
Немного не понял, чего вам нужно, в том примере котом я вам дал компонент и так скрывается... Либо объясните более понятней или можете отправить мне на ящик сообщение со скриптом...

Всего записей: 226 | Зарегистр. 22-06-2008 | Отправлено: 19:19 31-01-2009 | Исправлено: Serega0675, 19:21 31-01-2009
stNeko



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serega0675
Ну вот в предложенном Вами коде компонент включается\отключается в зависимости от того, найден ли файл {src}\main\proga.txt. А мне надо вот что-то типа этого:
 
function IsComponent1:boolean;
var CurrentAppVersion:string;
begin
  GetVersionNumbersString(ExpandConstant('{app}') + '\app.exe', CurrentAppVersion)
  Result:=True;
  begin
  if CurrentAppVersion < '1.1' then
  Result:=False;
  end;
end;
 
Но результатом вышеследующего кода является знакомая ошибка:
An attempt was made to expand the "app" constant before it was initialized

Всего записей: 32 | Зарегистр. 15-10-2007 | Отправлено: 20:04 31-01-2009
Serega0675



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
stNeko
Так она вылетает в случае если файла нет, т.е. вы пытаетесь получить версию файла до установки приложения, а его там нет... вот отсюда и ошибка...  
 
Добавлено:
LordVeider
если я вас правильно понял, то так

Всего записей: 226 | Зарегистр. 22-06-2008 | Отправлено: 20:53 31-01-2009
stNeko



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serega0675, не в том дело - файл есть, установщик обновляет уже установленное приложение. У этого обновляемого приложения перед установкой проверяет соответствие версии основного исполняемого файла..
 
Я понимаю эту ошибку как невозможность получение значения переменной {app}, тк код выполняется до того как эта переменная {app} (папка установки) была задана на соответствующей странице. Ошибка конечно же выскакивает при инициализации мастера.
 
Надо как-то прикрутить код, например, к клику кнопки Next на странице выбора папки установки, либо выполнить непосредстенно на странице выбора компонентов. Я вот не могу сообразить, каким способом это сделать.

Всего записей: 32 | Зарегистр. 15-10-2007 | Отправлено: 05:05 01-02-2009 | Исправлено: stNeko, 08:05 01-02-2009
Serega0675



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

Цитата:
Надо как-то прикрутить код, например, к клику кнопки Next на странице выбора папки установки
Вот то, что вам надо

Всего записей: 226 | Зарегистр. 22-06-2008 | Отправлено: 11:06 01-02-2009
LordVeider



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

Цитата:
LordVeider  
если я вас правильно понял, то так
Поняли вроде правильно, но такое решение не подходит...
Довольно много компонентов нужно сделать по этой схеме, соответственно получается куча костылей, что ничего хорошего не несёт...
Кроме того, некоторые компоненты могут динамически отключаться с помощью Check-функций, что вообще делает данную схему неработоспособной из-за смены нумерации в WizardForm.ComponentsList.

Всего записей: 103 | Зарегистр. 04-11-2008 | Отправлено: 11:08 01-02-2009 | Исправлено: LordVeider, 11:11 01-02-2009
Serega0675



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
LordVeider
Вы извините, но я не телепат... Надо все условия говорить сразу...  
Из вышесказанного вами я понял, что компоненты у вас внешние и в момент запуска приложения происходит проверка на их присутствие... В соответствии с этой проверкой происходит построение списка компонентов. Правильно? Есть ли ещё, какие условия?

Всего записей: 226 | Зарегистр. 22-06-2008 | Отправлено: 11:39 01-02-2009
LordVeider



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вторая проблема является следствием первой, т.е. костылей, на которых данная проверка построена.
Хотелось более "правильного" решения.
И ещё. Пересмотрел ваш код. Всё-таки не так вы меня поняли.
Но всё равно спасибо за помощь.
Буду пытаться искать другое решение...

Всего записей: 103 | Зарегистр. 04-11-2008 | Отправлено: 13:23 01-02-2009
   

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru

Рейтинг.ru