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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shurman31 -- если InitializeSetup возвращает True, то установка продолжается; если False - установка отменяется. По умолчанию - False. Если хочешь чтобы установка продолжалась, добавь строку:
Result:= True;
 
Это в простейшем виде. Хотя более правильно было бы проверять результат выполнения Exec (возвращаемое значение и ResultCode
 
И не используй в Exec не предназначенные для нее константы - ssInstall это этапы установки (TSetupStep). В функции Exec следует использовать константы TExecWait = (ewNoWait, ewWaitUntilTerminated, ewWaitUntilIdle).

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 12:23 11-04-2008
GRom V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите как изменить сообщение в конце деинсталляции  -  
"Прогрмма ..... была полностью удалена с вашего компьютера"
?

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 15:03 11-04-2008
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GRom V
[Messages]
UninstalledAll=Крутой софт %1 снесен нафиг.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 16:15 11-04-2008
dron0000

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот есть такой код
KeyPage := CreateInputQueryPage(wpWelcome,
    'Персональная информация', 'Какой серийный номер необходим для продолжения?',
    'Вы должны ввести название Вашей организации и серийный номер, которые позволят дальнейший ход выполнения установочных действий. ' +
    'Серийный номер находится на лицензионном бланке.');
  KeyPage.Add('Организация:', False);
 
Как сделать так чтобы поле ввода было enable, для чтения, т.е чтобы пользователь немог ничего ввести. Или как сделать подругому.

Всего записей: 9 | Зарегистр. 10-12-2005 | Отправлено: 17:17 11-04-2008
Genri

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

Цитата:
чтобы поле ввода было enable, для чтения, т.е чтобы пользователь немог ничего ввести
-- Т.е. поле должно быть Enabled, но ReadOnly ?
Если я правильно понял, попробуй строку:
KeyPage.Add('Организация:', False);  
... заменить на:
KeyPage.Edits[KeyPage.Add('Организация:', False)].ReadOnly:= True;
 
Если имелось ввиду Visible, но ReadOnly, тогда лучше так:
KeyPage.Edits[KeyPage.Add('Организация:', False)].Enabled:= False;
 
Хотя не совсем понятно, зачем добавлять поле ввода и запрещать ввод в него? Типа: ("У меня есть посылка для Вас, только я Вам ее не отдам" (С)Печкин)

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 17:53 11-04-2008
Single Feniks



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужна помощ!
С процедурами: MouseDown, MouseUp и MouseMove впринципе разобрался, но вот только не понял есть ли такая процедура как MouseOut (MouseOver или MouseLeave) чтобы, скажем снять выделение с кнопки, выделенной процедурой:
 
procedure ButtonLabelMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin ButtonImage[TLabel(Sender).Tag].Left:=-BTNW*2; end;
 
Или подскажите пожалуйста какой-нибудь другой способ как это реализовать!

Всего записей: 22 | Зарегистр. 11-04-2008 | Отправлено: 00:32 12-04-2008
chelobey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
всем доброго времени суток.
вот какая проблема от собственного незнания
есть скрипт (ниже секция procedure CurPageChanged), где при процессе инсталляции страница с индикатором выполнения установки с измененными размерами перемещается в левую правую часть экрана.
следует сказать, что на кнопки накладывается текстура.
дак вот, при восстановлении окна инсталлятора в исходное положение и возвращении размера появляется, помимо "завершить", кнопка "отмена", да еще и не активная
 
как это дело исправить, не отказываясь от cancel button, и сохранив наложение тектур
 
это самое насущное)
 
а вот второстепенное - знаю, как сделать проверку реестра на наличие установленного приложения, и при положительном результате запросить "удалить" и т.д., но...
так как инсталлер включает два языка, как организовать адекватное (ru/eng) отображение сообщений
 
заранее спасибо и простите за флуд
 
Читать дальше...

Всего записей: 78 | Зарегистр. 31-05-2007 | Отправлено: 01:38 12-04-2008 | Исправлено: chelobey, 12:09 12-04-2008
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
chelobey -- ты шапку читал ? Последний абзац тоже ?

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 01:53 12-04-2008
GRom V

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

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 03:22 12-04-2008
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
chelobey
Цитата:
Проблемы при восстановлении окна инсталлятора в исходное положение после установки...
Как организовать адекватное (ru/eng) отображение сообщений...

Скачай Corona Skin, в этом дополнении многие проблемы решены. И отредактируй свой пост!

Всего записей: 743 | Зарегистр. 27-09-2005 | Отправлено: 03:24 12-04-2008
GRom V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Есть такой скриптик...
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
Res: Integer;
begin case CurUninstallStep of
usPostUninstall:
begin
//Проверяем присутствие папки после удаления
If DirExists(ExpandConstant('{userdocs}\My Games\Crysis\')+'')
then
//Создаем диалог с тремя кнопками
case MsgBox('Удалить сохранения игры "Crysis"?'#13#13 +
'"Да" – полное удаление сохранений.' #13#13
//'"Нет" – открыть папку в проводнике, чтобы вручную удалить файлы.'#13#13 +
'"Отмена" – Оставить сохранения.', mbInformation, MB_OKCANCEL)
of IDOK:
begin
DelTree(ExpandConstant('{app}')+'', True, True, True)
DelTree(ExpandConstant('{userdocs}\My Games\Crysis\')+'', True, True, True)
end;
end;
end;
end;
end;
 
Как сделать чтоб при деинсталляции, при нажатии ОК - собственное сообщение,  НО стандартное в конце НЕ ВЫСКАКИВАЛО???
 При нажатии Отмена - собственное сообщение,  НО стандартное в конце НЕ ВЫСКАКИВАЛО???

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 04:11 12-04-2008 | Исправлено: GRom V, 12:59 12-04-2008
Single Feniks



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
chelobey
 
1. А не судьба ее просто в невидимую зону передвинуть и не париться!  
Ну или передвинуть ее на задний план! если окно чем-нить забито, картинками там разными.
2. Можно сделать проверку в реестре в секции раскладки клавиатуры, в секции обращения к Shell32 там тоже все по-русски ну и в секции временной зоны, ну и много еще где ну а дальше уже по результатам проверок выводишь нужное тебе сообщение. Вот примерно ключи реестра которые будут меняться исходя из версии виндоза:
 
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\ShellNoRoam\MUICache]
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WOW\boot.description]
"language.dll"="Русский"
 
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows NT\CurrentVersion\Time Zones]
"TimeZoneKeyName"="Russian Standard Time"
 
------------------------------------------------------------------------------------------------------------------
 
А теперь собственно вопрос: Как отключить у объектов (к примеру у тех же кнопок) функцию переключения табуляцией?! Чтобы при нажатии на таб не переключалась активное выдиление, ну или не переключалось на то, на что не нужно! Именно не делать неактивным объект а только отключить "табулентность"! =)

Всего записей: 22 | Зарегистр. 11-04-2008 | Отправлено: 05:38 12-04-2008 | Исправлено: Single Feniks, 05:54 12-04-2008
chelobey

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

Всего записей: 78 | Зарегистр. 31-05-2007 | Отправлено: 12:13 12-04-2008 | Исправлено: chelobey, 12:19 12-04-2008
Single Feniks



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну и совсем простенький вопрос:
 
Как заставить Inno брать путь из ключа такого вида:    DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\...\{72289AD0-9E28-46B9-8587-0F56460B38D5},InstallPath|{pf}\Прога}   Он ругается на то что не находит константу {72289AD0-9E28-46B9-8587-0F56460B38D5}! пробовал и {{ и в константу его загонять и дефиндить... Не помогает! Подскажите плз!
 
З.Ы.: \...\ - это сокрашение длинного пути, на всякий случай уточню.. а-то мало ли =)
 

Всего записей: 22 | Зарегистр. 11-04-2008 | Отправлено: 19:57 12-04-2008 | Исправлено: Single Feniks, 20:02 12-04-2008
Unc1e

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Single Feniks, кажется так DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\...\{{72289AD0-9E28-46B9-8587-0F56460B38D5%7d,InstallPath|{pf}\Прога}

Всего записей: 434 | Зарегистр. 11-06-2007 | Отправлено: 20:24 12-04-2008
Single Feniks



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Во точ то надо! Спасибо! чет сам про ASCII не подумал... хотя она тож чет не всегда срабатывает! =( Ну а на мои прошлые вопросы никто не желает ответить?! =)

Всего записей: 22 | Зарегистр. 11-04-2008 | Отправлено: 20:48 12-04-2008
elapse



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Single Feniks, чтобы снять выделение с кнопки, создай Label c Transparent := True; при наведении на который возвращай нужное положение текстуры. Как пример - см. Corona Skin.

Цитата:
Как отключить у объектов (к примеру у тех же кнопок) функцию переключения табуляцией?!


Код:
 
procedure InitializeWizard;
begin
  WizardForm.DirBrowseButton.TabStop := False;
end;
 

Кнопка выбора директории установки никаким образом не реагирует на Tab.

Всего записей: 95 | Зарегистр. 23-02-2008 | Отправлено: 21:17 12-04-2008
shurman31

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri,  Спасибо большое!! Добавил строку Result:= True;  устанавливается и то и другое, только запускаютсяя оба сразу. А как сделать чтобы сначала установился Server? а после его установки уже запустилась установка приложения.
 
И ещё один вопросик можно. Можно ли с помощью Inno Setup установить базу данных?

Всего записей: 5 | Зарегистр. 11-04-2008 | Отправлено: 21:54 12-04-2008 | Исправлено: shurman31, 21:56 12-04-2008
Single Feniks



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
elapse
За табуляцию спасибо то что надо!
А вот снятие выделения именно этим способом я и не хочу делать (Хотел уточнить при написании вопроса да поленился)! Хотелось бы узнать еслть ли именно процедуры похожие на те что я перечислил.

Всего записей: 22 | Зарегистр. 11-04-2008 | Отправлено: 22:30 12-04-2008
Genri

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

Цитата:
как сделать чтобы сначала установился Server?  
-- я уже в предыдущем сообщении говорил: не используй в Exec не предназначенные для нее константы - ssInstall это этапы установки (TSetupStep). В функции Exec следует использовать константы TExecWait = (ewNoWait, ewWaitUntilTerminated, ewWaitUntilIdle).
Начнешь подставлять правильные, поймешь в чем разница.

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

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