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

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

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

Widok (25-09-2007 17:33): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



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

Это мощное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно легко самим создавать диалоги, используя спец. дизайнер. И всё это абсолютно бесплатно! По сравнению с NullSoft (основной конкурент на бесплатной ниве) мне albel понравилась более интуитивно-понятная структура скрипта, простота в настройке.  
 
Последний релиз: 5.2.0 [19 сентября 2007 года]
История версий | скачать || скачать Preprocessor
 
Русификатор от NightW0lf для версии 5.2.0
Скачать | зеркало
 
Английская справка для Inno Setup Preprocessor (ISPP) 5.0.xx
Скачать
 
Русская справка к версиям 5.0.xx
Скачать | зеркало || cкачать в .chm формате
И снова BagIra на высоте
 
Руководство по расширенным возможностям Inno Setup 5 (не для чайников) от Kindly
[3 версия]  
Скачать | зеркало
[4 версия]  
Скачать | зеркало
[5 версия]  
Скачать | зеркало
[5.1 версия]  
Скачать | зеркало
 
Inno Setup Extensions Knowledge Base  
Скачать | зеркало
 
Corona Skin & Check System Requirements от Victor_Dobrov
Скачать | Скриншот | Справка
Кроме визуального стиля Corona(WMP9) в инсталлятор по выбору пользователя добавляется: Проверка системы/минимальных требований. Шифрование. Деинсталляция неучтённых файлов. Подсчёт времени установки. Расширенный прогрессбар. Экран скриншота/справки. Screensaver, BMP или AVI-файл в фоновом окне. Проигрывание музыки в фоне и многое другое...
 
Примечание: начиная с версии 5.1.10 в Inno Setup при использовании в инсталляторе фонового изображения формата BMP стало глючить возможность растягивания картинки на весь экран - чтобы это исправить добавьте этот код.
Если вы захотите использовать метод проверки внешнего файла через сумму MD5 (который описан в 5 версии руководства по программированию в Inno Setup) для запуска инсталлятора то вам понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. Если вы хотите узнать какие ключи в реестр вносит та или иная программа (или игра) то Вам понадобится RegShot.



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



 
Последний релиз: 5.2.0 [21 сентября 2007 года]
Скачать | зеркало  
(как сказано в описании изменений, добавлена поддержка новых директив 5.2.0)
 
Русификатор
Скачать | зеркало


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


 
Удобная оболочка для облегчения написания скриптов установки для Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
 
Последний релиз: 5.1.6.9 [09 июля 2006 года]
Скачать 4.2 мб | обновление 3.1 мб
 
Русификатор отGloThin
Скачать с сайта GloThin | Зеркало | Зеркало | зеркало
Пароль: ruboard
Примечание: офф. сайт косо отображается в Oper`е.
 
Новое название проекта на сайте, похоже произошла замена ScriptMaker на:
 
Inno Script Generator

Последний релиз: 1.0.2.11 [7 Августа 2007 года]
Скачать | обновление | Изменения
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.1.13.
 
Примечание для всех участников
 
Длинные куски кода помещайте под тегом [more], дабы дать возможность знатокам Inno Setup прочитать сам вопрос, а не пролистывать бесконечно длинные листинги скриптов в посте.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 18:01 23-04-2007 | Исправлено: Nekt, 00:33 25-09-2007
Sero



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

Цитата:
Этот скин у меня тоже работает а те которые на сайте лежат не работают.  

Хммм.. страно!
 
Добавлено:
В тэмп нашел один скин,он тоже работает!
 
Добавлено:
Sampron
Скачай последнию версию с офф сайта!
И все скины будут работать!
 
Добавлено:

Цитата:
Но при процедуре DeInitializeSetup не получается чтобы временные файлы удалялись!  

Ну как решить эту проблему?

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 22:26 30-05-2007
Sampron

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

Цитата:
а вот нельзя ли, как я хотел, чтобы на странице инсталлятора проиграть видео ? осуществимо? как думаешь?

Я незнаю этот код не я писал.

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 22:50 30-05-2007
ZavadS



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

Цитата:
function InitializeSetup(): Boolean;
var
  res: integer;
begin
Result:= True;
If RunTask('oodcnt.exe', false) then
begin
  res:= 10;
  while (res = 10) and RunTask('oodcnt.exe', false) do
    res:= MsgBox('Программа установки русификатора обнаружила, что программа  ' + ExpandConstant('''{#MyAppName}''') + ','#13'запушена в данный момент. Рекомендуется закрыть программу перед тем, как продлить.'#13#13
    'Завершите работу программы и нажмите «Повторить»'#13#13  
    'Нажмите «Далее», программа установки закроет и не сохранит измененные настройки в программе.'#13#13  
    'Нажмите «Отмена», чтобы выйти из программы установки русификатора.', mbInformation, 6);
   Case res of
     2: {Cancel}
      begin
        Result := False;
      end;
    11: {Continue}
      begin
        KillTask('oodcnt.exe');
        Result := True;
begin
If RunTask('oodtray.exe', false) then
begin
  KillTask('oodtray.exe');
  Result := True;
  end else
  Exit;
begin
  Exec('net', 'stop "O&O Defrag"', '', SW_HIDE, ewWaitUntilTerminated, res);
  Result:= True;
end;
end;
end;
end;
end;
end;
 
procedure DeinitializeSetup();
var
  res: integer;
begin
  Exec('net', 'start "O&O Defrag"', '', SW_HIDE, ewWaitUntilTerminated, res);
end;


Всего записей: 69 | Зарегистр. 04-01-2007 | Отправлено: 00:54 31-05-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZavadS -- личку смотри. Подправил, но не проверял - времени счас нет.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 12:19 31-05-2007
Sampron

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

Цитата:
название текущей страницы отсутствовало

С этим согласен я провтыкал.
 

Цитата:
 не показывались имена файлов, состояние инсталляции

Это не баг, на скине с транспарентом это вообще не показывалось так, как текст меняется и TLabel непонимает смены текста, потому и пришлось указать другой текст.

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 13:06 31-05-2007
marat shakirov

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Товарищи, подскажите банальную вещь - как закачать содержимое файла в переменную String и потом залить это все обратно в файл?
 
Завранее спасибо

Всего записей: 14 | Зарегистр. 11-05-2007 | Отправлено: 14:47 31-05-2007
Sero



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

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 14:59 31-05-2007
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Corona Skin - исправил в обложке отображение/скрытие флажков перезагрузки.

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 20:18 31-05-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sero
Цитата:
при процедуре DeInitializeSetup не получается чтобы временные файлы удалялись!
-- помещай NSIS_SkinCrafter_Plugin.dll, SkinCrafter.dll и SkinNsis.skf рядом с инсталлятором. Пример в личке.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 20:30 31-05-2007
Sampron

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

Цитата:
-- помещай NSIS_SkinCrafter_Plugin.dll, SkinCrafter.dll и SkinNsis.skf рядом с инсталлятором. Пример в личке.

Работает прекрасно, но если создать к примеру игровой инсталл и записать на болванку то при установке с диска скин не отображается так как рядом должны создаться 2 файла.  
 
Понял! нужно эти 2 созданных файла тоже положить рядом.  

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 22:14 31-05-2007 | Исправлено: Sampron, 22:20 31-05-2007
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_Dobrov
В твоём скине есть один серьёзный баг: если UserInfoPage=true, то на странице информации о пользователе вместо слов "Серийный номер:" идёт "*". И ещё ведь стандартно серийный номер на этой странице не должен появляться. Возникает вопрос: а не знаешь, как сделать, чтобы его не было до поры до времени - то есть до
function CheckSerial(Serial: String): Boolean;
Потому что если я использую эту функцию, то текст "Серийный номер:" уже отображается корректно, как и должно быть.
 
А так всё КРАЙНЕ, НЕИМОВЕРНО, НЕПОСТИЖИМО КРУТО!!!

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 23:21 31-05-2007
Sampron

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

Цитата:
Возникает вопрос: а не знаешь, как сделать, чтобы его не было до поры до времени

Так отключи этот текст.

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 00:45 01-06-2007
Sero



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

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 00:50 01-06-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sero
Хреново что не работает в деинсталляторе.

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 01:08 01-06-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sampron
Цитата:
Понял! нужно эти 2 созданных файла тоже положить рядом.
--
1. Вместе с инсталлятором разместить папку (напр. skin)  
2. В эту папку в обязательном порядке поместить 3 файла:  
NSIS_SkinCrafter_Plugin.dll  
SkinCrafter.dll  
SkinNsis.skf  
(По желанию можно туда же поместить и другие скины, хотя их можно и включить в инсталлятор)  
3. Скрипт может выглядеть примерно так:
Код:
 
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
 
[Files]
Source: callnsis.dll; Flags: dontcopy
 
[Code]
var
  Button: TButton;
  Skins: TArrayOfString;
  i: integer;
 
procedure callplug(parentwnd: Integer; pluginname,funcname,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10: PChar);
external 'callplug@files:callnsis.dll stdcall setuponly';
 
procedure ButtonOnClick(Sender: TObject);
begin
  if i = 7 then i:= 0
  else i:= i+1;
  callplug(0, ExpandConstant('{src}\skin\NSIS_SkinCrafter_Plugin.dll'),
              'skin',
              ExpandConstant('{src}\skin\' + Skins[i]),
              '','','','','','','','','');
  //MsgBox(Skins[i], mbInformation, MB_OK);
end;
 
procedure InitializeWizard();
begin
  Skins := ['SkinNsis.skf',
            'Skinastic.skf',
            'BlueZZ.skf',
            'Ultraviolet.skf',
            'Ultraviolet_ST.skf',
            'vista_style.skf',
            'Eclipse.skf',
            'Aquamarine.skf'];
 
  Button := TButton.Create(WizardForm);
  Button.Left := 10;
  Button.Top := WizardForm.CancelButton.Top;
  Button.Width := WizardForm.CancelButton.Width;
  Button.Height := WizardForm.CancelButton.Height;
  Button.Caption := 'Skin';
  Button.OnClick := @ButtonOnClick;
  Button.Parent := WizardForm;
 
  WizardForm.Position:=poDesktopCenter
  WizardForm.Height:=WizardForm.Height-40
 
  callplug(0, ExpandConstant('{src}\skin\NSIS_SkinCrafter_Plugin.dll'),
              'skin',
              ExpandConstant('{src}\skin\' + Skins[0]),
              '','','','','','','','','');
end;  


Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 02:08 01-06-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
Круто! даже смену скинов можно делать!
 
Добавлено:
Нужно ещё эту строку добавить а то есть лишнее справа:
WizardForm.Width:=WizardForm.Width-7

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 02:25 01-06-2007
DuhaLab



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот есть скрипт:
//Блокировка установки, если запущена Opera
 
function NextButtonClick(CurPage: Integer): Boolean;
var s:string; h:Longint;
begin
        Result:=True;
        If CurPage=6 then begin
                h:=FindWindowByClassName('OpWindow');
                If (h>0) then begin
                        MsgBox('Программа установки обнаружила, что сейчас' #13'одна из копий программы Opera выполняется.' #13#13'Для продолжения установки пожалуйста,' #13 'закройте все запущенные окна программы.', mbError, mb_Ok);
                        Result:=False;
                end;end;end;
 
мне нужно внести в сообщение кнопку "Закрыть Оперу" рядом с кнопкой "ОК" при нажатии которой происходит закрытие приложения (Opera.exe) и установка автоматически продолжилось, если она закрылась. Кнопка "ОК" без изменений оставить.  

Всего записей: 48 | Зарегистр. 26-12-2006 | Отправлено: 10:09 01-06-2007
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А где взять файл SkinNsis.skf ???
 
Всё нашёл ))

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 11:50 01-06-2007 | Исправлено: maxdddca123, 11:56 01-06-2007
Sero



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

Цитата:
Хреново что не работает в деинсталляторе.

мммдааа... очень жаль.

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 12:06 01-06-2007
maxdddca123

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

Цитата:
Скрипт может выглядеть примерно так:

А что вообще делает этот скрипт ? А то у меня только кнопки пропадают при запуске и всё

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 12:07 01-06-2007
   

Страницы: 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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru