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

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



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может всё-таки кто-нибудь глянет на эту проблемку: http://forum.ru-board.com/topic.cgi?forum=5&topic=27438&start=1860#16

Всего записей: 45 | Зарегистр. 04-06-2008 | Отправлено: 00:02 14-12-2008
GRom V

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

Цитата:
В твоей процедуре до begin нужно добавить строчку:  
var strTmp: string;

Спасибо огромное - все путем...

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 07:40 14-12-2008
Aion13



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, ну пожалуйста, помогите мне с этими проблемами! Очень нужно! Уже начал отчаиватся совсем в поиске решений
 
Вот то, что мне осталось реализовать.
 
1) Как сделать дополнительную страницу CreateInputOptionPage (идёт после выбора доп.задач, где создание ярлыков и прочее) с чекбоксами, и привязать к ним файлы или папки из секции [Files], т.е. поставил галочку на пункте и пошла установка из файлов из этой секции?
 
2)  Как сделать обнаружение установки\удаления программы вот по такой схеме:
 
 - запускаем инсталлятор в 1 раз --> идёт установка программы
 - запускаем его 2 раз --> появляется окошко, о том чтобы удалить, но НЕ через команду MsgBox, а стандартное сообщение об удалении. На панели задач в это время висит ТОЛЬКО процесс удаления.
 - если соглашаемся удалить, то получаем процесс удаления, как только удалился, запускается процесс установки с появлением соответствующего процесса в панели задач. Как только процесс удаления завершился, окно подтверждения, о том, что программа удалена пропускается и сразу начинается установка.  
 - если отказываемся, сразу появляется окно установки.
 
Перерыл все коды, которые в хелпах и прочих документациях, но не нашёл того варианта, что мне нужно. Либо они не работают так как надо, либо работают криво.

Всего записей: 45 | Зарегистр. 04-06-2008 | Отправлено: 11:36 14-12-2008
Ninja33



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

Цитата:
К сожалению, нет.

Жаль... А можно извлечь код из файла CompiledCode.bin?

Всего записей: 32 | Зарегистр. 28-09-2008 | Отправлено: 11:49 14-12-2008
clemenco

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Aion13
Думаю это то, что ты ищешь.Подробнее... возможно и нет...
 
Помогите совместить этот код is7z_exemple Подробнее...  
и Vista Lite Skin Подробнее... (можно и SourceScript от Kindly)  
Или хотя бы подсказку дайте, как это делать... Перепробовал по разному, процесс идёт но не видно прогресс бара.
PS Надеюсь я не нарушаю их авторские права размещая здесь их код

Всего записей: 110 | Зарегистр. 05-10-2008 | Отправлено: 12:09 14-12-2008 | Исправлено: clemenco, 12:50 14-12-2008
Aion13



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
clemenco
Нет, это не то. Даже если убрать эти меседжбоксы
 

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

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

Всего записей: 318 | Зарегистр. 20-12-2005 | Отправлено: 12:29 14-12-2008
clemenco

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Aion13
Но ведь когда убираешь
if MsgBox('Программа установки обнаружила, что у вас уже установлена Имя вашей программы.' #13#13 'ВНИМАНИЕ!' #13 'Папка "ваша папка" и её содержимое удаляться не будет. При необходимости удалите её вручную.' #13#13 'Хотите удалить старую версию перед установкой новой версии?', mbConfirmation, MB_YESNO) = idYes  
then  
и
/silent
Выводится стандартное окно деинсталяции, или я чего то не догоню...

Всего записей: 110 | Зарегистр. 05-10-2008 | Отправлено: 12:33 14-12-2008
Aion13



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всё прально, мне оно и нужно
А если оставить эти месседж боксы, то тогда встречный вопрос: как отключить все эти подтверждения на удаление файлов, чтобы сразу после месседжа шло удаление, а в конце убиралось подтверждение о том что файлы удалены?
 
p.S Такие вопросы тут поднимаю, что из бы разобрать да в хелп, потому что очень даже полезные коды для новичков получатся, потому какие коды даны в хелпах, они кривушные, т.е. запускается всё сразу.  
Хотя если убрать подтверждение об удалении и успешном удалении, да ещё дописать чтобы запускался ТОЛЬКО процесс удаления в панели задач, то код будет тем что нужно!

Всего записей: 45 | Зарегистр. 04-06-2008 | Отправлено: 12:48 14-12-2008 | Исправлено: Aion13, 12:56 14-12-2008
serg_aka_lain

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

Цитата:
Вот то, что мне осталось реализовать.  
 
1) Как сделать дополнительную страницу CreateInputOptionPage (идёт после выбора доп.задач, где создание ярлыков и прочее) с чекбоксами, и привязать к ним файлы или папки из секции [Files], т.е. поставил галочку на пункте и пошла установка из файлов из этой секции?  
 
2)  Как сделать обнаружение установки\удаления программы вот по такой схеме:  
 
 - запускаем инсталлятор в 1 раз --> идёт установка программы  
 - запускаем его 2 раз --> появляется окошко, о том чтобы удалить, но НЕ через команду MsgBox, а стандартное сообщение об удалении. На панели задач в это время висит ТОЛЬКО процесс удаления.  
 - если соглашаемся удалить, то получаем процесс удаления, как только удалился, запускается процесс установки с появлением соответствующего процесса в панели задач. Как только процесс удаления завершился, окно подтверждения, о том, что программа удалена пропускается и сразу начинается установка.  
 - если отказываемся, сразу появляется окно установки.

Пример
 

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



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
У меня не работает скрипт "Верхняя часть как в NSIS.iss", постоянно пишет "Unknown identifier 'ShowAccelChar'"

Всего записей: 175 | Зарегистр. 24-08-2008 | Отправлено: 16:21 14-12-2008
Aion13



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
serg_aka_lain
Спасибо!  
По 1 пункту будет вылетать страничка подтверждения а она мне не нужна. И это решается тем, что параметр /silent нужно устанавливать, только тогда другой код получится.
По 2 пункту: если допустим определённые папки (их не одна) я хочу связать их с этой страничкой? Но основные файлы установятся в любом случае. А те, которые будут связаны  с чекбоксами, только если выделены. Как это осуществить?

Всего записей: 45 | Зарегистр. 04-06-2008 | Отправлено: 16:29 14-12-2008
serg_aka_lain

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

Цитата:
параметр /silent нужно устанавливать


Цитата:
По 2 пункту: если допустим определённые папки (их не одна) я хочу связать их с этой страничкой? Но основные файлы установятся в любом случае. А те, которые будут связаны  с чекбоксами, только если выделены. Как это осуществить?

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

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 16:41 14-12-2008
Aion13



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

Код:
[Setup]
; Определит имя раздела в реестре с информацией для удаления
AppID=My Program //Можно задать любое значение, например: {0872DB47-24CB-4C7F-AC4B-E6EFC27BD244}
 
[Code]
var
  ResultStr:string;
  msgres, ResultCode: integer;
begin
  RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My Program_is1', 'DisplayName', ResultStr)
    if ResultStr='My Program Name '
    then
      msgres:=MsgBox('"'+ ResultStr + '" уже установлена на Ваш компьютер.'+#10#10+'Для новой установки следует удалить предыдущую. Удалить её?', mbInformation, MB_YESNO);
      case msgres of
        IdYes:    begin
                      // Проверка правильности ключа удаления
                      if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My Program_is1', 'UninstallString', ResultStr)
                      then
                      begin
                        if ResultStr<>''
                        then
                        begin                        
                          ResultStr:=RemoveQuotes(ResultStr);
                          Exec(ResultStr, '/silent', '', SW_SHOWNORMAL, ewWaitUntilIdle, ResultCode)
                        end else
                          // Если не были найдены файлы удаления, то выдаётся сообщение об ошибке
                          if not Exec(ResultStr, '', '', SW_SHOWNORMAL, ewWaitUntilIdle, ResultCode)
                          then
                          MsgBox('Ошибка удаления. ' #10#10 '' + SysErrorMessage(ResultCode) + '.' #10#10 'Вероятно, файл был перемещен, удален или переименован.', mbError, MB_OK);
                      end
                  end;
        IdNo:     Result:= False;
     end;
    if ResultStr<>''
    then
      Result := True;
end;

 
Единственное что в таком варианте я не смог реализовать, так это отмену установки вообще (MB_YESNO поменяется при этом на MB_YESNOCANSEL и добавится новый id в case). Если кто-то знает как это сделать, прошу помочь. А может даже где-то исправить или поправить этот код
 
p.S serg_aka_lain, может сможешь эту функцию сделать здесь?

Всего записей: 45 | Зарегистр. 04-06-2008 | Отправлено: 17:01 14-12-2008 | Исправлено: Aion13, 01:14 19-12-2008
serg_aka_lain

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

Цитата:
 Как сделать обнаружение установки\удаления программы вот по такой схеме:  
 
 - запускаем инсталлятор в 1 раз --> идёт установка программы  
 - запускаем его 2 раз --> появляется окошко, о том чтобы удалить, но НЕ через команду MsgBox, а стандартное сообщение об удалении. На панели задач в это время висит ТОЛЬКО процесс удаления.  

теперь понадобилось через case... ?
 

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 17:31 14-12-2008
clemenco

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://forum.ru-board.com/topic.cgi?forum=5&topic=27438&start=1880#6
 
Подскажите как быть с этим.

Всего записей: 110 | Зарегистр. 05-10-2008 | Отправлено: 17:36 14-12-2008
Aion13



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
serg_aka_lain
Не, я просто код поинтереснее нашёл и всё. И единственное что мне не удалось реализовать в нём (см. выше), так это если добавить кнопку отмены в case, то чтобы она вообще отменяла установку. Ты сможешь этот недочёт исправить?
 
p.S Большое спасибо что помогаешь.
p.p.S Может кто-нибудь внесёт разобранное в справку? Я не настаиваю просто очень полезные вещи, а главное лучше предыдущих кодов, особенно с меседжами.
 
Добавлено:
serg_aka_lain
А как на это второй страничке сделать выбор пункта в пункте? Т.е. как выбрал пункт 2, открывается ещё пункты с выбором (или появляются, или с самого начала неактивны, т.е. их нельзя выбрать), ниже этого пункта и чуть правее. Лучше конечно, чтобы появлялись.

Всего записей: 45 | Зарегистр. 04-06-2008 | Отправлено: 17:43 14-12-2008 | Исправлено: Aion13, 17:57 14-12-2008
JuNoS



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
У меня не работает скрипт "Верхняя часть как в NSIS.iss", постоянно пишет "Unknown identifier 'ShowAccelChar'"
 
Что делать? У меня 5.2.3.e4 (ISPP 5.2.3.0)

Всего записей: 175 | Зарегистр. 24-08-2008 | Отправлено: 18:07 14-12-2008
serg_aka_lain

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

Цитата:
Не, я просто код поинтереснее нашёл и всё. И единственное что мне не удалось реализовать в нём (см. выше), так это если добавить кнопку отмены в case, то чтобы она вообще отменяла установку. Ты сможешь этот недочёт исправить?  

Предложу Так
 

Цитата:
А как на это второй страничке сделать выбор пункта в пункте? Т.е. как выбрал пункт 2, открывается ещё пункты с выбором (или появляются, или с самого начала неактивны, т.е. их нельзя выбрать), ниже этого пункта и чуть правее. Лучше конечно, чтобы появлялись.  

Так

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 18:42 14-12-2008 | Исправлено: serg_aka_lain, 18:43 14-12-2008
Aion13



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
serg_aka_lain
Большое человеческое СПАСИБО тебе, Добрый Человек!
Очень мне помог, просто таки выручил. Радости нет предела!

 
И ещё: в коде на опрделение установки можно ли на несколько долей секунды задежать выполнение установки после удаления?

Всего записей: 45 | Зарегистр. 04-06-2008 | Отправлено: 19:02 14-12-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