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

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri, спасибо. Подставил ewWaitUntilTerminated теперь всё круто. Очень помог!!!  

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

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

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 01:27 13-04-2008
KurtWagner



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

Всего записей: 90 | Зарегистр. 02-01-2008 | Отправлено: 04:03 13-04-2008
Kardinalli



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ветки про инсталляторы вообще, к сожалению не нашел, поэтому спрошу здесь. Подскажите, в каком из инсталляторов при установке есть возможность проверить наличие некоторых файлов и в зависимости от результата разрешить, или запретить работу сетапа? Собственно, мне нужно создать апдейт, с заменой некотрых файлов уже установленной программы.
Только пожалуйста без самописных скриптовых сценариев! Мне проще написать ехе-шник и загрузить ему в ресурсы нужные файлы...  
Пользуюсь Smart Install Maker, отличная вещь, но там нет такой проверочной опции...

Всего записей: 705 | Зарегистр. 22-10-2006 | Отправлено: 22:14 13-04-2008
Kutsenko



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
2 Kardinalli
В руководстве по Inno Setup есть такое. Скачай Inno Setup Scripting и там найди.
 
У меня возник такой нюмбский вопрос: как убрать у формы кнопку "закрыть", и как можна убрать выделение с пароля - когда я нажимаю "далее" открывается следующая страничка с паролем, но он почему выделенный, как это можно убрать? Сори что такие вопросы уже были раньше заданы.

Всего записей: 80 | Зарегистр. 19-11-2007 | Отправлено: 00:04 14-04-2008
Single Feniks



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
4 Kutsenko - Я делал вот так:  procedure InitializeWizard(); begin WizardForm.BorderIcons:=[]; end;  Но при этом пропадают и кнопка минимизации и кнопка "На весь экран" (biMinimize, biMaximize), причем ввод этих параметров без biSystemMenu ничего не дает, а вместе с ним - возвращает все кнопки!  
Так что если кто знает как скрыть (Показать все кнопки кроме) кнопку [Х] закрыть у формы, то я бы тоже не прочь это узнать! =)
 
Kardinalli - Да... пользовался как-то я Smart Install Maker... хорош... для маленьких топорных инсталлов, для больших проектов вообще не катит, да и алгоритм сжатия/извлечения какой-то корявый - при размерах инсталла от 100-200 метров вешает систему на время установки, но устанавливает! ))
Изучай скриптовые языки они рулят для качественных проектов! И собственно по теме - вот тут небольшой скрипт "тихой" установки с проверкой по реестру в Inno. Тут только пару строчек на свои заменить и все, а подобных SIM с такими функциями что-то не знаю! =\
 
< Скриптик >

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Single Feniks
Спасибо! Попробую.
А если запись в реестр не используется, как определить есть или нет файлы по указанному пути?
 
P.S. Нашел! При помощи IS Tools оказывается можно сделать почти все.

Всего записей: 705 | Зарегистр. 22-10-2006 | Отправлено: 07:12 14-04-2008 | Исправлено: Kardinalli, 11:53 14-04-2008
Kutsenko



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
2 Single Feniks
Так я пробывал. Это не помогает. Для инсталятора этот скрипт подходит, а вот для формы НЕТ.  Вопросы остаются актуальными. HELP.

Всего записей: 80 | Зарегистр. 19-11-2007 | Отправлено: 08:28 14-04-2008
htuos

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

Цитата:
как убрать у формы кнопку "закрыть"

листай назад, уже обсуждалось, причем недавно

Всего записей: 335 | Зарегистр. 06-03-2008 | Отправлено: 12:14 14-04-2008
Forslay



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ помогите пожалуйста, вот есть такая функция:    
   
 

Код:
[code]
var
  ResultCode: Integer;
  ResultReg: string;
 
    begin
  Result := false;
  if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Valve\Half-Life\cstrike', 'InstallPath', ResultReg)
    then
   if MsgBox('Counter-Strike уже установлен на Вашем компьютере.'#13#13'Вы желаете запустить Counter-Strike?', mbConfirmation, MB_YESNO) = IDYES
      then
    begin
      RemoveQuotes(ResultReg);
      if not Exec(ResultReg + '\hl.exe', '-game cstrike -steam -console', '', SW_SHOW, ewNoWait, ResultCode)
        then
        MsgBox('Ошибка', mbError, MB_OK);
 
  end
  else
    begin
  Result := true;
    end;

 
 
Но как сделать так, что бы после нажатия на кноку Ок, тоесть запуск игры, инсталляшка сразу вырубалась, а то бесит игра запускается, и инсталляция продолжается !
 
 
Заранее спасибо умные люди !

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Forslay
и в каком месте ты это делаешь (название процедуры, функции)?
если InitializeSetup, то наверное так

Код:
begin
    Result := false;
    if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Valve\Half-Life\cstrike', 'InstallPath', ResultReg) then begin
        if MsgBox('Counter-Strike уже установлен на Вашем компьютере.'#13#13'Вы желаете запустить Counter-Strike?', mbConfirmation, MB_YESNO) = IDYES then begin
            RemoveQuotes(ResultReg);
            if not Exec(ResultReg + '\hl.exe', '-game cstrike -steam -console', '', SW_SHOW, ewNoWait, ResultCode) then MsgBox('Ошибка', mbError, MB_OK);
        end
    end else Result := true;
end;

1.кнопка "ОК" имеется только на сообщении об ошибке
2.есть подозрение, что RemoveQuotes - функция, тогда ее вызов бесполезен и ResultReg останется с кавычками, т.е. твой Exec(...) не будет работать. Если ф-ция, тогда так Exec(RemoveQuotes(ResultReg) + '\hl.exe', '-game cstrike -steam -console', '', SW_SHOW, ewNoWait, ResultCode)
3.внимательнее с логическими скобками (begin ... end)

Всего записей: 335 | Зарегистр. 06-03-2008 | Отправлено: 13:02 14-04-2008 | Исправлено: htuos, 13:18 14-04-2008
Single Feniks



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
4 Kutsenko
 
Чет я не понял тогда ты про какую форму вообще говоришь!
    MainForm.Visible:=True;
    MainForm.BorderIcons:=[];

Тож прекрасно работает... только размеры и положение дописать. Или ты вообще не про это?!

Всего записей: 22 | Зарегистр. 11-04-2008 | Отправлено: 13:28 14-04-2008
Kardinalli



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу не пинать, с Паскалем и скриптами раньше дела не имел, а IS изучаю первый день. Суть вопроса выше, несколькими постами ранее, проблему я решил, теперь не могу сообразить вот что: мне нужно, чтобы при отсутствии некоторых файлов в определенной папке, выводилось сообщение об их отсутствии и прекращении инсталляции.
Я попробовал использовать встроенную функцию:

Код:
[Code]
procedure FlSr
if FileSearch('MyProg.exe', '{app}\MyDir\': string)='пусто ' then begin
 MsgBox(' Программа MyProg не найдена. Обновление не завершено!', mbInformation, mb_Ok);
end
 

 
Ошибка. Что нужно изменить?

Всего записей: 705 | Зарегистр. 22-10-2006 | Отправлено: 13:32 14-04-2008 | Исправлено: Kardinalli, 09:21 05-05-2008
Single Feniks



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kardinalli
 
Я его сам за 2 дня изучил, конечно не совсем досконально. Правда до этого знал NSIS ну и было много типа SIM и т.д.
Попробуй лучше вот так:
function InitializeSetup() : Boolean;    
begin
    Result := True;
    if not FileExists('D:\Папка\Файл.exe') then    begin    
    MsgBox('Не найдены файлы в папке установки', mbError, mb_Ok); Result:= False; exit;
    end
end;

Всего записей: 22 | Зарегистр. 11-04-2008 | Отправлено: 13:44 14-04-2008 | Исправлено: Single Feniks, 13:58 14-04-2008
Kardinalli



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Single Feniks
О, респект! То что нужно! Спасибо!

Всего записей: 705 | Зарегистр. 22-10-2006 | Отправлено: 14:16 14-04-2008
Forslay



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
htuos, спасибо за объяснение, но не работает... Просто в функции: function InitializeSetup(): Boolean;, у меня много других задач, и может быть из-за них продолжается установка.... Твой код я ставлю в самый верх функции: function InitializeSetup(): Boolean;, для того, что бы он исполнялся ранее, чем все остальные задачи... Но Увы не получается, у меня запускается приложение, и инсталляция продолжается... Ну веть полюбому можно сделать так что бы инсталяция наглухо закрывалась, после нажатия на кнопку "ОК"... Неужели нет такого параметра, который бы такое делал... 88(
 
Вот мой  function InitializeSetup(): Boolean;:  
 
Подробнее...

Всего записей: 181 | Зарегистр. 15-06-2007 | Отправлено: 15:02 14-04-2008
htuos

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Forslay
1. добрался до компа, посмотрел RemoveQuotes - функция
2. попробуй так все равно ересь получается - если тебе удастся запустить игру (т.е. не будет ошибки), то инсталляция продолжится
3. можно написать так тогда установка прекратится независимо от того, запустилась игра или нет (вылезло сообщение об ошибке). но это все равно фигня, т.к. если пользователь скажет, что не хочет запускать установленную ранее игру, то установка опять таки продолжится
4. Если у тебя по нескольким признакам прерывается установка, то можно завести несколько переменных Flag1, Flag2 ... : boolean и работать не с Result, а с этими флагами, а в конце Result:=Flag1 and Flag2 and ...
 
конкретизируй задачу, я не очень понимаю, что ты хочешь сделать

Всего записей: 335 | Зарегистр. 06-03-2008 | Отправлено: 16:02 14-04-2008 | Исправлено: htuos, 16:20 14-04-2008
Forslay



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
htuos Ну например если игра установлена, то что бы пользователь не смог установить её, а просто выдавалось сообщение играть или не играть...., вот чего я хочу... Тоесть пользователь не должен иметь возможности установить игру два раза, предварительно её не удалив...
 
Добавлено:
Боже мой, веть всё работает !
 
 
Код:
begin
    Result := false;
    if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Valve\Half-Life\cstrike', 'InstallPath', ResultReg) then begin
        if MsgBox('Counter-Strike уже установлен на Вашем компьютере.'#13#13'Вы желаете запустить Counter-Strike?', mbConfirmation, MB_YESNO) = IDYES then
            if not Exec(RemoveQuotes(ResultReg) + '\hl.exe', '-game cstrike -steam -console', '', SW_SHOW, ewNoWait, ResultCode) then MsgBox('Ошибка', mbError, MB_OK);
            Exit;
    end else Result := true;

 
Вот это твой пример, и с ним работает так как я хочу ! СПАСИБО ТЕБЕ ! ОГРОМНЕЙШОЕ !!!!!!!!!!!!!!!!!!!!!!!!!

Всего записей: 181 | Зарегистр. 15-06-2007 | Отправлено: 16:37 14-04-2008
Single Feniks



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

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



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

Код:
 
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
  Confirm := False;
end;
 

Всего записей: 95 | Зарегистр. 23-02-2008 | Отправлено: 19:30 14-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-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru