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

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



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
alfonser
Как это не помещается?! Скриншот кинь сюда, чтоб наглядно было.
 
Diawer
Хмм, случайно это не SetupIconFile делает в секции Setup?
 
 

Всего записей: 965 | Зарегистр. 28-11-2006 | Отправлено: 23:01 01-06-2008 | Исправлено: SotM, 09:47 02-06-2008
alfonser



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

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 23:24 01-06-2008 | Исправлено: alfonser, 23:28 01-06-2008
serg_aka_lain

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser
 
Делай ширину больше  
Height := ScaleY(29);
и Caption := 'Подождите' #13#10 'Пока установится.'; или
в CustomMessages
=Подождите%nПока установится.

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 23:58 01-06-2008
alfonser



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

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 00:14 02-06-2008
AlexDJ666



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Возможно ли в скрипте использовать одновременно Memo              :=TMemo.Create(WizardForm) и Memo:= TRichEditViewer.Create(Page)? Если да, то где и как нужно описать Memo?
 
Добавлено:
И сразу вдогонку еще вопрос. И использовал теперь код Genri (спасибо ему огромное), чтобы можно было использовать rtf-вставки. Теперь у меня не отображаются скриншоты. Я так понимаю, что это как раз из-за использования Memo :=TRichEditViewer.Create(Page)? И еще я не понял как привязать функцию отображения скриншотов при наведении курсора на пункт меню к текущему коду - и там, и там есть функции по проверке курсора, но связать их вместе пока не удалось.
И последнее, в предложенном Genri варианте ListBox'a записи в скрипте получаются более лаконичные, нежели были у меня, только одно непонятно - какой переменной теперь можно передать в раздел Files событие, что пункт меню выбран (собственно, для установки самих файлов). Раньше у меня были переменные вида Checked101, CHecked102 и т.п. А сейчас не понимаю, как реализована проверка на "отмеченность" пункта меню.
 
Выкладываю "очищенный" кусок моего кода:
 
Подробнее...

Всего записей: 83 | Зарегистр. 03-07-2006 | Отправлено: 05:15 02-06-2008 | Исправлено: AlexDJ666, 05:39 02-06-2008
antifire

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

Всего записей: 32 | Зарегистр. 27-05-2008 | Отправлено: 10:42 02-06-2008 | Исправлено: antifire, 10:42 02-06-2008
SotM



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
antifire
Дык, в хелпе ведь написано:
FileExists
FileCopy
 

Всего записей: 965 | Зарегистр. 28-11-2006 | Отправлено: 11:32 02-06-2008
antifire

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SotM
Гы. не там смотрел =)
 
Добавлено:
Тогда такой вопрос: Как сделать так чтоб название файла менялось в зависимости от значения переменной. К примеру есть a: integer и  file001.dat, как сделать так чтобы если a=3 то file003.dat?    Что то вроде file00[a].dat?

Всего записей: 32 | Зарегистр. 27-05-2008 | Отправлено: 11:39 02-06-2008
SotM



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
antifire
Подробней опиши вопрос о файлах.  

Всего записей: 965 | Зарегистр. 28-11-2006 | Отправлено: 14:43 02-06-2008
antifire

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хорошо.
a: integer
i: integer (кол-во файлов file00x.dat)
 
Нужен цикл с проверкой, начинаеться приблизительно так:
 
если i>0
1 от а=1 до a=i a++  
2 Проверяем есть ли на диске file00[a].dat
   a)  если есть то копируем его в  дирикторию программы, переходим к пункту 1
   b)  если нет то вывод сообщения 'Вставьте диск с файлом file00[a].dat' переходим к п.2

Всего записей: 32 | Зарегистр. 27-05-2008 | Отправлено: 15:00 02-06-2008
Raf_SE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А ктонить может модифицировать код слайдшоу так, чтобы инсталляха сама определяла какой у юзера монитор (простой или широкоэкранный) и в зависимости от этого использовался определенный набор картинок (для простого монитора 640x480 для широкоэкранного 704x368) ?
В том что это возможно, уверен на 100% ибо таким образом было сделано слайдшоу в золотом (полностью русском) издании Oblivion.
 
Код слайдшоу

----------
«Фашисты будущего будут называть себя антифашистами» ©

Всего записей: 1143 | Зарегистр. 06-08-2006 | Отправлено: 15:06 02-06-2008 | Исправлено: Raf_SE, 15:09 02-06-2008
SotM



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
antifire
Ну и кто тебе мешает написать что-то вроде этого?

Код:
 
    for a := 0 to i do
    begin
        if FileExists( 'file00' + IntToStr( a ) + '.dat' ) then
        begin
            FileCopy( ... );
        end;
    end;
 

 
Raf_SE
Тут на форуме уже что-то подобное пробегало, как именно получить текущие разрешения на экран и т.д.
Сохрани всю ветку в виде "для печати" и потом спокойно ищи то, что тебе надо!

Всего записей: 965 | Зарегистр. 28-11-2006 | Отправлено: 15:23 02-06-2008 | Исправлено: SotM, 15:26 02-06-2008
antifire

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SotM
 
Это не совсем правильно. Если файла нет на диске - выдаст error? Счетчик будет на один увеличиваться при вставке следующего диска - и в итоге если файл file002.dat на 2ом диске, то будет искать file003.dat.  
нужна такая же структура, с выводом сообщения, которую я описал выше.

Всего записей: 32 | Зарегистр. 27-05-2008 | Отправлено: 15:50 02-06-2008
SotM



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
antifire
Ну дык, тогда так:
 

Код:
 
procedure WaitForNewDisk( Number : integer );
var
    DiskInserted: boolean;
begin
    DiskInserted := false;
    while not DiskInserted do
    begin
        MsgBox('Insert new disk', mbInformation, MB_OK);
 
        if FileExists( 'file00' + IntToStr( Number ) + '.dat' ) then
            DiskInserted := true;
    end;
end;
 
ну а предыдущий код изменить на что-то вроде этого:
 
        if FileExists( 'file00' + IntToStr( i ) + '.dat' ) then
            begin
            end
        else
            WaitForNewDisk;
 
 


Всего записей: 965 | Зарегистр. 28-11-2006 | Отправлено: 16:05 02-06-2008
Gekkon1976

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Root: HKLM; Subkey: "SOFTWARE\Classes\CLSID\{{C6643EC0-49AC-4c15-A455-04104DB900A9}\InprocServer32"; Flags: uninsdeletekey; ValueType: string; ValueData: "C:\PROGRA~1\Sony\IMAGEC~1\CtxMenu.dll"
 
Как загрузить данную DLL не перегружая компьютер?

Всего записей: 6 | Зарегистр. 21-05-2008 | Отправлено: 16:25 02-06-2008
SotM



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Gekkon1976
Что значит "загрузить"? Куда загрузить?

Всего записей: 965 | Зарегистр. 28-11-2006 | Отправлено: 16:40 02-06-2008
Gekkon1976

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как применить изменение в реестре без перезагрузки компьютера
по типу:
SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, 0);
 
ChangesAssociations=yes - не подходит

Всего записей: 6 | Зарегистр. 21-05-2008 | Отправлено: 17:08 02-06-2008
SotM



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Gekkon1976
хммм, тебе типа зарегить в системе её нужно или нет?
Этот вопрос конечно не совсем про Inno, подобные вопросы лучше узнавать в других разделах.
Пробовал использовать: regsvr32 ?
Если это не поможет, то скорей всего - никак.

Всего записей: 965 | Зарегистр. 28-11-2006 | Отправлено: 17:16 02-06-2008
Raf_SE



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

Цитата:
Сохрани всю ветку в виде "для печати" и потом спокойно ищи то, что тебе надо!

А как это делать?
 

Цитата:
Тут на форуме уже что-то подобное пробегало, как именно получить текущие разрешения на экран и т.д.

Нуу даже если я найду как получить разрешения монитора юзера, то это мне не особо поможет. Я просто нешарю в паскале, даже слепить 2 кода для меня проблематично. Посему прошу изменить таким образом, данный выше, мой код.

----------
«Фашисты будущего будут называть себя антифашистами» ©

Всего записей: 1143 | Зарегистр. 06-08-2006 | Отправлено: 19:35 02-06-2008
Genri

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

Цитата:
Возможно ли в скрипте использовать одновременно Memo:= TMemo.Create(WizardForm) и Memo:= TRichEditViewer.Create(Page)?  
-- возможно. Только в подавляющем большинстве случаев, надо давать разные имена (а у тебя и один Memo:= ... и другой Memo:= ...) Например:
Memo1:= TMemo.Create(WizardForm);
Memo2:= TRichEditViewer.Create(Page);
 

Цитата:
не отображаются скриншоты
.............
как реализована проверка на "отмеченность" пункта меню
-- Пример с комментариями

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 22:08 02-06-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