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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)

Модерирует : gyra, Maz

Widok (29-12-2008 12:26): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 101 102 103 104

   

Widok



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

Это мощное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно создавать свои страницы, используя Inno Setup Form Designer.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта.  
 
Последний релиз: 5.2.3 [10.03.2008]
История версий | скачать | все сборки || Скачать Preprocessor | все сборки
 
Русификатор от NightW0lf для версии 5.2.0
Скачать | зеркало
 
Русская справка к версиям 5.0.x, автор перевода BagIra
Скачать | зеркало || cкачать в .chm формате
 
Руководство по расширенным возможностям 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-файл в фоновом окне. Компактный режим установки. Деинсталляция неучтённых файлов. Экран справки/скриншота. Медиаплеер и многое другое...
 
Примечание: Если необходимо использовать метод проверки внешнего файла через сумму MD5 (который описан в 5 версии руководства от Kindly) для запуска инсталлятора, то понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. Если требуется узнать, какие ключи реестра меняет та или иная программа, используйте RegShot. Чтобы растянуть фоновый рисунок на весь экран, в версии Inno Setup 5.1.10 и выше используйте этот код.

Дополнительные утилиты для Inno Setup


Мощная надстройка для Inno Setup, при помощи которой создавать свои инсталляторы становится очень просто.
 
Последний релиз: 5.2.1 [15.10.2007]
Скачать | зеркало || Русификатор | зеркало

Простой мастер создания скрипта для установки одной или нескольких игр. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации.
 

Прежнее название ScriptMaker. Удобная оболочка для облегчения написания скриптов установки для Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
 
Последний релиз: 1.0.3.1 [23.03.2008]
Скачать | обновить (нужен QuickStartPack 5.2.3)

Распаковщик установок, сделанных с помощью Inno Setup. При распаковке извлекаются  ресурсы и скрипт установки (немного усечённый). Возможно подключение к Total Commander или FAR с помощью MultiArc плагинов.
Поддерживает распаковку инсталляторов, сделанных с помощью Inno Setup начиная с версии 3.0.0-beta по 5.2.3
 
Последний релиз: 0.20 [23.05.2008] New
Скачать | Расширенная версия (с поддержкой русского языка)  

Примечание для всех участников

Объёмные скрипты или части кода заключайте в тег more, чтобы ваш вопрос в сообщении не затерялся среди множества строк прилагаемого скрипта.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 18:16 17-06-2008 | Исправлено: equis, 17:51 06-12-2008
SotM



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
putes
Разумеется не будет работать Эта папка "Мои документы" занята системой, и не позволяет вот так просто переименовывать нам всё подряд.  
Я лишь дал пример, он будет работать для других папок (не занятых системой).  
 
Nekt
Значит в этом искомом файле всего лишь одна строчка?
Ну тогда мы просто читаем из этого файла всю строчку, изменяем ее и записываем обратно. Вот тебе и всё "редактирование".
Как в NSISе наверное нет (хоть я и не помню как оно там разворачивается). Лучше приводить скриншоты.

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в файле не одна искомая строчка всего.. там много строчек. Просто которую мы меняем она одна такая в файле; какая команда в инно изменяет файл?

Всего записей: 640 | Зарегистр. 24-01-2006 | Отправлено: 20:38 23-06-2008 | Исправлено: Nekt, 21:56 23-06-2008
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это правда, что секция CustomMessages не понимает флаг 'Tasks'?

Код:
[Tasks]
Name: KEYCheckCopy; Description: Создать лог-файл; Flags: unchecked
 
[CustomMessages]
rus.KEYCheckCopy=-CheckCopy; Tasks: KEYCheckCopy
 
[Run]
Filename: {app}\_Install.cmd; WorkingDir: {app}; Parameters: {cm:KEYCheckCopy};  Flags: waituntilterminated

Это можно как-то по другому реализовать? Нужен чекбокс, который бы отключал (по умолчанию) и включал 'Parameters', только чтобы это работало в одной команде секции Run.

Всего записей: 3703 | Зарегистр. 29-01-2005 | Отправлено: 20:51 23-06-2008
ChVL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
htuos
Спасибо! Это именно то, что мне надо.
Алгоритм, который требуется реализовать, довольно прост: в памяти по определённому адресу надо занопить имеющееся там значение. В Delphi это выглядит примерно так:

Код:
program RAM;
 
uses
Windows;
 
{$R *.RES}
 
var
  si : Startupinfo;
  pi : ProcessInformation;
  NewData : array[0..1] of byte = ($90,$90);
 
begin
 
  IF CreateProcess(nil,'MyProg.exe',nil,nil,FALSE,
           Create_Suspended,nil,nil,si,pi) = true then
 
  begin
     
      WriteProcessMemory(pi.hProcess, Pointer($402000), @NewData);
      ResumeThread(pi.hThread);
      CloseHandle(pi.hProcess);
      CloseHandle(PI.hThread);
     
  end;
 
end.

Как это же изобразить в Pascal'e (точнее, реализовать алгоритм), чтобы понял Inno? Подходящий пример не нашёл.
 

Всего записей: 1746 | Зарегистр. 18-06-2003 | Отправлено: 21:02 23-06-2008
putes

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SotM
да я тебе не про то, я свободно ручками переименовываю папку Мои документы, ничем она не занята
твой код НЕ РАБОТАЕТ
 
 
 
var
    MyDocsFullName, FileName : string;
begin
    MyDocsFullName := ExpandConstant( '{userdocs}' );
    FileName := ExtractFileName( MyDocsFullName );
    StringChangeEx( MyDocsFullName, FileName, 'My Documents', True );
    RenameFile( ExpandConstant( '{userdocs}' ), MyDocsFullName );
end;
 
 
 
ругается на строчку
end;
 
хелп

Всего записей: 125 | Зарегистр. 06-02-2005 | Отправлено: 21:39 23-06-2008
Diawer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Флаг uninsremovereadonly нужен мне для секции Код, для дополнительного окна удаленинния этой папки, всё работает как надо но при установки нажав отмену папка не удаляется, как это исправить сохранив её его работоспасобность.
 
Source: Saves\*; DestDir: {app}\Saves; Flags: ignoreversion recursesubdirs createallsubdirs uninsremovereadonly

Всего записей: 180 | Зарегистр. 08-05-2007 | Отправлено: 21:53 23-06-2008
Forslay



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Да раньше то нормально всё было, и в коде у меня всё нормально блин я даже немогу понять от чего такая фигня 8*(

Всего записей: 181 | Зарегистр. 15-06-2007 | Отправлено: 21:57 23-06-2008
Diawer

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

Всего записей: 180 | Зарегистр. 08-05-2007 | Отправлено: 22:00 23-06-2008
Nekt

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

Код:
 
procedure CurStepChanged(CurStep: TSetupStep);
var
  S: String;
begin
 If CurStep=ssPostInstall then
begin
  S := ExpandConstant('{commondocs}\STALKER-SHOC\')
  StringChangeEx(S, ':\', ':\|', True);
  SaveStringToFile(ExpandConstant('{app}')+'\readme.txt', 'max_belt = 24\' + #13, true);
end;
end;

Вот такое нарыл... А как, использовать, этот код, связать при определенном выборе, компонента. Если компонент выбран произвести код, если нет не производить код. ?  
И есть-ли что-нить наподоби только шоб модифицировал файл?

Всего записей: 640 | Зарегистр. 24-01-2006 | Отправлено: 23:01 23-06-2008
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите "склеить" два кода.
 
Как вставить переменную из секции CustomMessages в Code:

Код:
[CustomMessages]
rus.CompletInstall=Завершение установки
rus.NotDiskSpace='Недостаточно места на диске. Процесс инсталляции будет прерван.

Прошу дать пример на вышеуказанном коде.
 
Также очень актуальный для меня вопрос выше.

Всего записей: 3703 | Зарегистр. 29-01-2005 | Отправлено: 00:42 24-06-2008 | Исправлено: boss911, 00:44 24-06-2008
serg_aka_lain

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

Цитата:
А как, использовать, этот код, связать при определенном выборе, компонента.  

 
Примерно так  
 
if IsComponentSelected('имя компоненты') then , Т.Е. если компонента отмечена,
то переходит к выполнению кода.
 
тут Подробнее...
 
 
 
Добавлено:
boss911

Цитата:
Помогите "склеить" два кода

 
Подробнее...
 
 
 
 
Добавлено:
putes

Цитата:
я свободно ручками переименовываю папку Мои документы

 
Подробнее...

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 00:48 24-06-2008
Nekt

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо огромное Serg_aka_Lain, а вот про редактирование, можешь подсказать?  

Всего записей: 640 | Зарегистр. 24-01-2006 | Отправлено: 01:48 24-06-2008
KurtWagner



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
НАРОД!!! ПОЖАЛУЙСТА РАШИТЕ МОЙ ВОПРОС!!! Как сделать так чтоб при установке вместо надписи где пишет путь распаковки сделать свою надпись типа идет расраковка видео роликов... распаковка аудио звуков и т.д. ???  
+ Вопрос еще сверху как сделать так чтоб вместо белого фона в инсталлере был рисунок или свой цвет!!! ??? заранее спасибо!!!  
и
как пользоваться файлом config.ini чнрнз инсталлер???

Всего записей: 90 | Зарегистр. 02-01-2008 | Отправлено: 01:49 24-06-2008
Nekt

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что ты хочешь сделать с ним, и как испольовать? т.е. твой мысли о твоих действиях по направлению config.ini.

Всего записей: 640 | Зарегистр. 24-01-2006 | Отправлено: 02:14 24-06-2008
serg_aka_lain

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

Цитата:
про редактирование, можешь подсказать?

 
Не уверен, что средствами Inno возможно, если надо модифицировать ".txt", то скорее всего придётся перезаписывать содержимое всего файла.
 
А с архивами, если в него надо добавить файлы только внешними утилитами.
 
З.Ы. Внести ясность думаю Genri может.

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 02:14 24-06-2008
KurtWagner



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как заставить инсталлер удалить папку при пачтировании файлов (файлы надо не заменить а удалить) + папку тоже

Всего записей: 90 | Зарегистр. 02-01-2008 | Отправлено: 02:42 24-06-2008
boss911



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

Цитата:
Как заставить инсталлер удалить папку

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

Всего записей: 3703 | Зарегистр. 29-01-2005 | Отправлено: 03:11 24-06-2008
serg_aka_lain

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

Цитата:
НАРОД!!! ПОЖАЛУЙСТА РАШИТЕ МОЙ ВОПРОС!!! Как сделать так чтоб при установке вместо надписи где пишет путь распаковки сделать свою надпись типа идет расраковка видео роликов... распаковка аудио звуков и т.д. ???  

 
Примерно так Подробнее...
 

Цитата:
+ Вопрос еще сверху как сделать так чтоб вместо белого фона в инсталлере был рисунок или свой цвет!!! ???

 
поменять цвет так Подробнее...
 
картинку так (WizardSmallImageFile=картинка.bmp ~ 497 X 58) Подробнее...
 
 

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 03:34 24-06-2008
SotM



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

Цитата:
Как это же изобразить в Pascal'e (точнее, реализовать алгоритм), чтобы понял Inno? Подходящий пример не нашёл.  

Указатели не реализованы в Inno. Значит так сделать нельзя.
 
boss911
CustomMessages просто содержат текст. И там нет каких либо параметров. (судя по Хелпу).

Цитата:
Как вставить переменную из секции CustomMessages в Code:

Блин, только недавно это было здесь (на 1-ю страницу можешь глянуть). Не читаем форум?! Зачем одно и тоже каждый раз спрашивать?
MsgBox( ExpandConstant( '{cm:CompleteInstall}' ), mbInformation, mb_Ok );
Я уже не говорю, что можно во всяких исходниках посмотреть как это реализовано. В той же Короне.
 
Diawer

Цитата:
спасибо за совет, но если я знал бы как это сделать наверное не спрашивал.

Всегда пожалуйста
Например, можешь глянуть в предыдущей части об Inno Setup. Там Forslay писал 22:05 11-11-2007
(прямой ссылки туда у меня нет). Так что ищи

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

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

Цитата:
препроцессор можно использовать для компиляции дистрибутивов и без его прямого назначение, то есть там, где он использоваться не будет или лучше им пользоваться для компиляции дистрибутивов там где он нужен, как в моем случае?
-- еще раз: вопрос поставлен некорректно. Не зависимо от того, что ты используешь для работы (ISTools, ISPack, Inno Script Generator или любую другую оболочку), компиляцию всегда выполняет Inno Setup. Препроцессор это только дополнение, позволяющее инно понимать дополнительные спец-команды и директивы, которые выполняются в момент компиляции. С установленным препроцессором просто появляются дополнительные возможности. На саму компиляцию это никак не влияет.
 
Nekt, serg_aka_lain -- Замена строки в файле

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 11:50 24-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 101 102 103 104

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
Widok (29-12-2008 12:26): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru