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

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
htuos
 
С атрибутом "только для чтения"  - "+r" тоже работает.

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 00:46 07-04-2008 | Исправлено: serg_aka_lain, 00:48 07-04-2008
machetos

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

Цитата:
machetos  
вроде достаточно этого  
Exec('attrib', ' +r ' + '"' + ExpandConstant('{app}') + '"', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);  
не ставь скрытый и системный

Спасибо, работает!!!
 

Цитата:
тебе писали еще один способ, без таскания с собой пустого файла

без пустого а сразу - это хорошо, но вот только при деинсталяции папка с прогой не удаляется, т.к. там остаётся файл этот, может можно ему задать какой-нибудь атрибут, чтоб он тоже деинсталился?
 

Всего записей: 15 | Зарегистр. 26-03-2008 | Отправлено: 00:54 07-04-2008
serg_aka_lain

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
machetos
 
удали через Code
 
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
    if CurUninstallStep = usUninstall then
    begin
        DeleteFile(ExpandConstant('{app}') + '\desktop.ini');
    end;
end;
 

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 01:08 07-04-2008
machetos

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
serg_aka_lain
и верно.. туплю )))
спасибо

Всего записей: 15 | Зарегистр. 26-03-2008 | Отправлено: 01:16 07-04-2008
Forslay



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ, помогите пожалуйста реализовать функцию в инсталляхе: Print Button Click, если я правильно написал....
 
Мне нужно что бы на странице лицензионного соглашения, была кнопочка: Печать лицензионного соглашения... Заранее очень благодарю....
 
 
Через _ISSI неполучается, ошибка при компилляции....

Всего записей: 181 | Зарегистр. 15-06-2007 | Отправлено: 12:43 07-04-2008
elapse



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Forslay, берёшь из шапки Inno Setup Extensions Knowledge Base, находишь там 100-ую статью - с копипастом проблем возникнуть не должно. Лень качать - см. здесь.

Всего записей: 95 | Зарегистр. 23-02-2008 | Отправлено: 13:35 07-04-2008
Dimbay

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

Продолжаю изучение...
 
У меня во время инсталляции запускается батник,в этот момент полоса прогресса останавливается(процесс длится несколько минут).Как именно для этой строки (во время работы батника) сделать свою полосу прогресса?
Source: unpack.bat; DestDir: {app}; AfterInstall: Unpack(); Flags: ignoreversion
 
Нашёл здесь такой пример создания полосы:

var  
ProgressBar: TNewProgressBar;  
procedure CurPageChanged(CurPageID: Integer);  
var  
i:Integer;  
begin  
If CurPageID=wpInstalling  
then  
begin  
ProgressBar := TNewProgressBar.Create(WizardForm);  
ProgressBar.Left := ScaleY(40);  
ProgressBar.Top := ScaleX(180);  
ProgressBar.Width := ScaleY(415);  
ProgressBar.Height := ScaleX(18);  
ProgressBar.Parent := WizardForm;  
ProgressBar.Position := 0; //указывает количество заполняемых секторов  
end;  
begin  
If CurPageID=wpFinished  
then  
ProgressBar.Hide  
end;  
end;
 
[[more][/more]
Как их связать,пока не догоню...

Всего записей: 56 | Зарегистр. 06-08-2007 | Отправлено: 19:29 07-04-2008
Forslay



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
elapse, большое тебе спасибо братка.... Всё работает ! Респект!

Всего записей: 181 | Зарегистр. 15-06-2007 | Отправлено: 20:48 07-04-2008
KurtWagner



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

Всего записей: 90 | Зарегистр. 02-01-2008 | Отправлено: 01:26 08-04-2008
GRom V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогите кто может.....нужно в реестр внести вот это -  
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\7B97E000527E10F478A01C92247B8F4E\InstallProperties; ValueType: string; ValueName: InstallSource; ValueData: F:\; Flags: uninsdeletekey
 
где (ValueName: InstallSource; ValueData: F:\) а именно F:\ - это буква DVD Room.
Но эта буква может быть разной.
Как сделать проверку буквы DVD Room и внести нужную в реестр?
Заранее благодарен
 
Добавлено:
Вопрос 2.... Создаем ярлык
 
Как сделать автоматом если система 32 разряда то создается ярлык -
Name: {userdesktop}\{#MyAppName}; Filename: {app}\Bin32\Crysis.exe; Tasks: desktopicon; IconFilename: {app}\Bin32\Crysis.exe; Comment: Запустить Crysis; IconIndex: 0; WorkingDir: {app}\Bin32
Если 64 разряда то -  
Name: {userdesktop}\{#MyAppName}; Filename: {app}\Bin64\Crysis64.exe; Tasks: desktopicon; IconFilename: {app}\Bin64\Crysis64.exe; Comment: Запустить Crysis; IconIndex: 0; WorkingDir: {app}\Bin64
 
???

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 06:43 08-04-2008 | Исправлено: GRom V, 09:42 08-04-2008
htuos

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

Цитата:
Как сделать проверку буквы DVD Room и внести нужную в реестр?  

а если в системе больше 1 привода, что тогда писать?

Всего записей: 335 | Зарегистр. 06-03-2008 | Отправлено: 10:32 08-04-2008
GRom V

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

Цитата:
а если в системе больше 1 привода, что тогда писать?

Без разници - главное чтобы был существующий!

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 10:40 08-04-2008
Chanka

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GRom V
1)
[Registry]
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\7B97E000527E10F478A01C92247B8F4E\InstallProperties"; ValueName: "InstallSource"; ValueType: String; ValueData: "{src}"; Flags: uninsdeletekey

 
Неправильно понял задачу

Всего записей: 208 | Зарегистр. 24-08-2006 | Отправлено: 11:32 08-04-2008 | Исправлено: Chanka, 11:47 08-04-2008
elapse



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
GRom V, примерно так. Добавляешь эту часть в свой проект, а в ValueData указываешь {code:GetDriveLetter} вместо F:\. Только непонятно, что делать, если отсутствуют дисководы, отменять инсталляцию, писать новое значение? Если не подходит пустое значение, подправить не сложно - надеюсь, сделаешь сам.
 
Добавлено:
По второму вопросу - также использовать {code:...}, проверка на битность - функцией IsWin64, описание см. в Хелпе.
 
Добавлено:
Chanka, скорее всего, ты как раз правильно понял задачу. Очевидно, надо чтобы в реестр заносилась буква диска, с которого происходит инсталляция, если это - дисковод, то разрешаем запись в реестр, если нет (жёсткий, флешка и т.д.) - отменяем инсталляцию... Тогда используем ExtractFileDrive из константы {src}. В любом случае --> {code:...}

Всего записей: 95 | Зарегистр. 23-02-2008 | Отправлено: 11:39 08-04-2008
GRom V

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

Цитата:
GRom V, примерно так. Добавляешь эту часть в свой проект, а в ValueData указываешь {code:GetDriveLetter} вместо F:\. Только непонятно, что делать, если отсутствуют дисководы, отменять инсталляцию, писать новое значение? Если не подходит пустое значение, подправить не сложно - надеюсь, сделаешь сам.

 
Спасибо - то что нужно! С этим разобрался.
 
Для второго вопроса нашол:
 
function InitializeSetup : Boolean;
var error : Integer;
 
begin
if IsWin64 then
begin
Exec(ExpandConstant('{src}') + '\File_64.exe', '', '', sw_show, ssInstall, error);
Result:= True;
end
else
begin
Exec(ExpandConstant('{src}') + '\File_32.exe', '', '', sw_show, ssInstall, error);
Result:=True;
end
end;
 
Это запуск экзешника в зависимости от разрядности......только не могу прикрутить этот скрипт к секции [Icons]
Подскажи как это сделать (если можно) т.е  
[Icons]
Name: {userdesktop}\{#MyAppName}; Filename: {app}\Bin32\Crysis.exe; Tasks: desktopicon; IconFilename: {app}\Bin32\Crysis.exe; Comment: Запустить Crysis; IconIndex: 0; WorkingDir: {app}\Bin32      -  32разряда
 
Name: {userdesktop}\{#MyAppName}; Filename: {app}\Bin64\Crysis64.exe; Tasks: desktopicon; IconFilename: {app}\Bin64\Crysis64.exe; Comment: Запустить Crysis; IconIndex: 0; WorkingDir: {app}\Bin64     -64разряда
 
Спасибо...
 
 
 

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 16:07 08-04-2008
elapse



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

Всего записей: 95 | Зарегистр. 23-02-2008 | Отправлено: 18:23 08-04-2008
Diawer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как относительно языка менялся Key: Lang; на соответствующую цифру,
в файленет Section: ; и при компиляции ругаеться.
 
[Files]
Source: gameconf.ini; DestDir: {app}; Flags: ignoreversion
 
[Languages]
Name: english; MessagesFile: compiler:Default.isl
Name: russian; MessagesFile: compiler:Languages\Russian.isl
Name: ukrainian; MessagesFile: compiler:Languages\Ukrainian.isl
 
[INI]
Filename: {app}\BaseT\gameconf.ini; Section: ; Key: Lang; String: 0; Languages: english
Filename: {app}\BaseT\gameconf.ini; Section: ; Key: Lang; String: 1; Languages: russian
Filename: {app}\BaseT\gameconf.ini; Section: ; Key: Lang; String: 2; Languages: ukrainian

Всего записей: 180 | Зарегистр. 08-05-2007 | Отправлено: 19:15 08-04-2008
valeron87



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GRom V
Еще можно без секции Code Подробнее...
 
Diawer
Можно попробовать так:
Подробнее...

Всего записей: 65 | Зарегистр. 19-11-2006 | Отправлено: 19:31 08-04-2008 | Исправлено: valeron87, 20:01 08-04-2008
Dimbay

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
Приветствую!
Не подскажешь по моему вопросу?
Как для определённого файла(на время его работы),сделать свою полосу прогресса?

Всего записей: 56 | Зарегистр. 06-08-2007 | Отправлено: 21:20 08-04-2008
GRom V

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

Цитата:
GRom V, неужели так сложно? Подробнее.

Огромное спасибо...все окк.
 
 
Добавлено:
elapse
Прошу просчения....я не такой бетман в паскале как ты....подскажи еще примерчик (если не трудно):
есть
 
[Registry]
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{10656425-AFEB-42F3-9E51-D4A92B7EE022}; ValueType: string; ValueName: ConfigInstallType; ValueData: 2; Flags: uninsdeletekey; Tasks: WGE
 
Как сделать чтобы - если стоит виста то эта ветка вносилась в реестр, если нет то не вносилась?
 
Заранее спасибочки...
 
 
Добавлено:
valeron87
Интересный вариант...
Глянь личку....
Да....а зачем эти строки...вроде и без них все работает?
#define MainExe32Dir Copy(MainExe32, 1, RPos("\", MainExe32)-1)
#define MainExe64Dir Copy(MainExe64, 1, RPos("\", MainExe64)-1)

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 04:15 09-04-2008 | Исправлено: GRom V, 09:02 09-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