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

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

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

Цитата:
Caps Losk  
Source: ...\папка\*; DestDir: {tmp};

 
Я спрашивал ДО установки - а это во время установки. Тоесть мне нужно как то в коде....

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 Caps Losk
в хелпе см. ExtractTemporaryFile

Всего записей: 110 | Зарегистр. 04-12-2006 | Отправлено: 11:19 03-03-2008
Vitalliano

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

Всего записей: 89 | Зарегистр. 04-12-2007 | Отправлено: 17:48 03-03-2008 | Исправлено: Vitalliano, 18:56 03-03-2008
Diawer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что, никто с ходу не может решить задачу: слайдшоу в приделах окна инсталлятора, изображение находиться
в левом-вехнем углу, как разместить его ровно под ProgressBar`ом?  
 
[Setup]  
AppName=My Program  
AppVerName=My Program 1.0  
DefaultDirName={pf}\My Program  
 
[Files]  
Source: InnoCallback.dll; Flags: dontcopy;  
 
[Code]  
type  
TProc = procedure(HandleW, msg, idEvent, TimeSys: LongWord);  
 
var  
TimerID: LongWord;  
iCurr: Integer;  
SlideImage: TBitmapImage;  
 
function WrapTimerProc(callback:TProc; paramcount:integer):longword;  
external 'wrapcallback@files:InnoCallback.dll stdcall';  
 
function SetTimer(hWnd: LongWord; nIDEvent, uElapse: LongWord; lpTimerFunc: LongWord): LongWord;  
external 'SetTimer@user32.dll stdcall';  
 
function KillTimer(hWnd: LongWord; nIDEvent: LongWord): LongWord;  
external 'KillTimer@user32.dll stdcall';  
 
function PercentProgress(): Integer;  
begin  
with WizardForm.ProgressGauge do  
Result := (Position-Min) / ((Max - Min) / 100);  
end;  
 
procedure OnTimer(HandleW, msg, idEvent, TimeSys: LongWord);  
begin  
if (PercentProgress > 30) and (PercentProgress < 50) and (SlideImage.Tag <> 1) then  
begin  
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{src}\Image_2.bmp'));  
SlideImage.Tag := 1;  
end  
else  
if (PercentProgress > 50) and (PercentProgress < 80) and (SlideImage.Tag <> 2) then  
begin  
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{src}\Image_3.bmp'));  
SlideImage.Tag := 2;  
end;  
end;  
 
procedure CurPageChanged(CurPageID: Integer);  
var  
pfunc: LongWord;  
begin  
if CurPageID = wpInstalling then  
begin  
pfunc := WrapTimerProc(@OnTimer, 4);  
TimerID := SetTimer(0, 0, 100, pfunc);  
 
WizardForm.Center;  
 
SlideImage := TBitmapImage.Create(WizardForm);  
SlideImage.Top := WizardForm.Bevel1.Top + WizardForm.Bevel1.Height;  
SlideImage.Width := ScaleX(400);  
SlideImage.Height := ScaleY(150);  
SlideImage.Stretch := True;  
SlideImage.Bitmap.LoadFromFile(ExpandConstant('{src}\Image_1.bmp'));  
SlideImage.Parent := WizardForm.InnerPage;  
end;  
 
if (CurPageID > wpInstalling) and (CurPageID < wpFinished) then WizardForm.InnerNoteBook.Show;  
 
if (CurPageID > wpInstalling) and (iCurr = 0) then  
begin  
 
WizardForm.Center;  
 
SlideImage.Hide;  
WizardForm.ProgressGauge.Hide;  
 
iCurr := 1;  
 
KillTimer(0, TimerID);  
end;  
end;  
 
procedure DeinitializeSetup();  
begin  
KillTimer(0, TimerID);  
end;
 
Не пожалейте время, для вас ничего сложного.

Всего записей: 180 | Зарегистр. 08-05-2007 | Отправлено: 18:37 03-03-2008
elapse



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Vitalliano
Diawer
Прочтите шапку и, пожалуйста, подкорректируйте свои посты.
 
Добавлено:
Diawer

Цитата:
Что, никто с ходу не может решить задачу

Я гляжу, ты с ходу можешь. До такого, конечно, сложно догадаться.

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как сделать чтобы дополнительные надписи, в коде, при выборе английского интерфейса инсталлятора, были английскими, а при выборе русскоязычного, были русскими?
 
Подробнее...
 
P.S.
Буду ОЧЕНЬ благодарен если ктонить уже встроит в код эту возможность. Ибо я нюб в этих делах.

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

Всего записей: 1143 | Зарегистр. 06-08-2006 | Отправлено: 19:30 03-03-2008 | Исправлено: Raf_SE, 19:36 03-03-2008
elapse



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Raf_SE
Уже как бы отвечали тут и через пост ниже. По-моему, твой код не сильно отличается от того. Если что-то непонятно, то обращайся к автору, незачем дублировать посты.

Всего записей: 95 | Зарегистр. 23-02-2008 | Отправлено: 19:51 03-03-2008
Raf_SE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
elapse
Да я просто тогда не протестил код. Он почемуто независимо от языка инсталлятора, всегда английский.
К iTASmania_Inc я не обратился, ибо таю надежды что тут быстрее ответят.

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

Всего записей: 1143 | Зарегистр. 06-08-2006 | Отправлено: 20:27 03-03-2008
elapse



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Raf_SE, хм, странно, всё корректно работает. А что ты подразумеваешь под "дополнительные надписями"? Если это касается только сообщения при нажатии на кнопку Next и сообщения при деинсталляции, то не знаю, почему у тебя такой баг.
 
Добавлено:
В любом случае, если работает такой код, то работает и основной. Если нет, то виноват злой Ктулху.

Всего записей: 95 | Зарегистр. 23-02-2008 | Отправлено: 20:44 03-03-2008
Raf_SE



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

Код:
 
   case MsgBox('Папка "' + ExpandConstant('{app}') + '" не пуста.'#13#13 +
               '"Да" – полное удаление всех файлов в папке, включая саму папку.' #13#13 +
               '"Нет" – открыть папку в проводнике, чтобы вручную удалить файлы.'#13#13 +
               '"Отмена" – ничего не делать, удалить папку позже самостоятельно.', mbInformation, MB_YESNOCANCEL) of
 
        IDYES:
         if not DelTree(ExpandConstant('{app}'), True, True, True) then
                MsgBox('Папка не удалена.' #13#13 'Папка или один из файлов в ней задействованы другим приложением.', mbError, MB_OK);
 
        IDNO:
         if not ShellExec('open', ExpandConstant('{app}'), '', '', SW_SHOWMAXIMIZED, ewNoWait, Res) then
                MsgBox('Ошибка открытия.' #13#13 'Папка не найдена.', mbError, MB_OK);
 

Хотя возможно сам компилятор глючит... Щас попробую переустановить.

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

Всего записей: 1143 | Зарегистр. 06-08-2006 | Отправлено: 20:48 03-03-2008
elapse



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Raf_SE, опять хм, у меня там немного другой код, непонятно почему iTASmania_Inc выложил "такой" вариант. Хотя знаю. Найди строку:
if ExpandConstant('{language}') = 'Russian' then
и замени на:
if ExpandConstant('{language}') = 'ru' then

Всего записей: 95 | Зарегистр. 23-02-2008 | Отправлено: 20:53 03-03-2008
Raf_SE



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

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

Всего записей: 1143 | Зарегистр. 06-08-2006 | Отправлено: 20:58 03-03-2008
Vitalliano

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот на счет своего вопроса.
Сделал такое решение проблемы, мож подскажете по лучше?
 
Подробнее...

Всего записей: 89 | Зарегистр. 04-12-2007 | Отправлено: 21:22 03-03-2008
omals

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
возможно кто-то знает ответ на мой вопрос
http://forum.ru-board.com/topic.cgi?forum=5&topic=24767&start=940#9

Всего записей: 110 | Зарегистр. 04-12-2006 | Отправлено: 21:33 03-03-2008
elapse



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

Всего записей: 95 | Зарегистр. 23-02-2008 | Отправлено: 21:45 03-03-2008
argnistkroleg

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
elapse
Спасибо тебе огромное!
Ты гуру!
Мне сложное наложение и не требовалось (ибо устраивает и этот примитивный вариант). Понадобилось для более сильной аутентичности цветовой гаммы инсталлятора.
Дизайн еще буду пересматривать
 
З.Ы. А с деинсталятором такое намутить реально? (Думаю, ответ отрицательный)

Всего записей: 55 | Зарегистр. 12-02-2008 | Отправлено: 22:28 03-03-2008 | Исправлено: argnistkroleg, 22:30 03-03-2008
elapse



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
omals
А почему бы не использовать вариант от Genri, то есть при деинсталляции вызывать также, как и при инсталляции?

Всего записей: 95 | Зарегистр. 23-02-2008 | Отправлено: 22:33 03-03-2008
Vitalliano

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

Всего записей: 89 | Зарегистр. 04-12-2007 | Отправлено: 01:04 04-03-2008 | Исправлено: Vitalliano, 01:05 04-03-2008
elapse



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогите, пожалуйста: как при мульти-выборе из lpstrFile[0] "вытащить" имена файлов в папке lpstrFile. Сам пример. Извиняюсь за кривизну постановки вопроса, но в формальных определениях я разбираюсь плохо. Заранее спасибо.

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

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

Цитата:
2 Caps Losk  
в хелпе см. ExtractTemporaryFile

 
ExtractTemporaryFile - это извлечение ФАЙЛА во временную папку....а мне надо КАТАЛОГ!

Всего записей: 10 | Зарегистр. 03-03-2008 | Отправлено: 02:43 04-03-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