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

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



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

Цитата:
Sergey_AV, обычно серийник пишется в реестр, и вместо регистрации программы достаточно импортировать REG-файл.

В данном случае это немного не так . Во-первых, серийник пишется в рег-файл, который не имеет ничего общего с реестром (формат). Во-вторых, и это более важно - генерация этого рег-файла идет с привязкой к Hardware ID, на другой машине он будет другой. Из за чего я и весь это  "сыр-бор" затеял. Единственная возможность - это получить этот рег-файл честным путем, т.е. штатными средствами программы. Я писал на WSH простенький скрипт (на большее моих знаний не хватает), который поочередно "нажимает" нужные клавиши и вводит нужные мне значения в окошки регистрании программы. И, если не ошибаюсь, я приводил подобие этого скрипта на предыдущей странице. Но у подобной конструкции масса недостатков, а самы главный из них - зависимость временных интервалов от железа той машины, на которой это устанавливается. В общем, подбирать задержки - занятие неблагодарное. Кроме того, при установки с DVD-ROM ситуация с задержками меняется координально - я даже зачастую не могу попасть в диапазон. Поэтому, если уж нет другой возможности, хотелось бы этот скрипт (код) вставить в сам инсталлятор: тогда, по-крайней мере, я буду знать, что пока идет установка программы она (инсталляция) выполнит все предписанные для нее задачи.  
Надеюсь, я не слишком сумбурно объяснил? Наверно, такие вещи, граничащие с оффтопиком лучше объяснять через РМ .

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 13:42 16-01-2008
Genri

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

Цитата:
Цитата:Теоретически, такую фишку прикрутить к инно можно.
 
А как?  
 
Цитата:Но имхо игра не стоит свеч.
 
Почему?  

 -- можно попробовать реализовать через FindWindowEx и WM_SETTEXT. Но имхо, результат не будет сильно отличаться от использования WSH-скрипта. А с учетом того, что вряд ли можно будет придумать этой фишке еще какое-либо применение, игра не стоит свеч - monkey business
 
koc

Цитата:
как открыть *.xml, найти там определенную строку и заменить ее на другую

-- краткий пример работы с XML можешь посмотреть здесь

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 23:04 16-01-2008
Chanka

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста. Этот код растягивает WizardSmallImage. Как сделать, чтобы на нём был текст.  Чтобы он сливался с картинкой и не было белых полосок.
WizardSmallImageFile=картинка.bmp
 

Код:
procedure InitializeWizard();  
begin  
 WizardForm.PageNameLabel.Hide;  
 WizardForm.PageDescriptionLabel.Hide;  
 
 with WizardForm do  
 begin  
 
   with MainPanel do  
   begin  
     with WizardSmallBitmapImage do  
      begin  
       Left:= ScaleX(0);  
       Top:= ScaleY(0);  
       Height:=Mainpanel.Height;  
       Width:=MainPanel.Width;  
     end  
    end  
  end  
end;

Всего записей: 208 | Зарегистр. 24-08-2006 | Отправлено: 23:12 16-01-2008 | Исправлено: Chanka, 23:13 16-01-2008
iTASmania_Inc



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

Цитата:
WizardSmallImageFile=картинка.bmp

, а если серьёзно, то я бы сделал так.

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 23:41 16-01-2008
KurtWagner



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Скчал "Inno Setup Corona Skin and System Test" и ничего не понял! Мош кто поможет???
 
Добавлено:
С помощью "Inno Setup Corona Skin and System Test" хотел сделать
фигню чтоб определал минимальные требования! + переключатель как в сталкере типа в д столько памяти а в с столько!

Всего записей: 90 | Зарегистр. 02-01-2008 | Отправлено: 04:26 17-01-2008
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KurtWagner, для сборки Corona Skin необходим препроцессор, вот простой пример.
 
#define Requirements - мин. требования указываются здесь, подробности в комментариях Corona.iss.

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 08:06 17-01-2008
Chanka

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iTASmania_Inc
Большое спасибо.
Еще такой вопросик. А можно сделать, чтобы на каждой странице мастера был разный WizardSmallImage.

Всего записей: 208 | Зарегистр. 24-08-2006 | Отправлено: 09:03 17-01-2008
Sergey_AV



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

Цитата:
 -- можно попробовать реализовать через FindWindowEx и WM_SETTEXT.

Ясно. Попробую поковырять.

Цитата:
Но имхо, результат не будет сильно отличаться от использования WSH-скрипта.

Но ведь есть же разница между ф-циями, вызываемыми из инсталлятора, и скриптом, вызываемым после установки ? Для меня это важно.

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 10:00 17-01-2008 | Исправлено: Sergey_AV, 11:24 17-01-2008
aka_smile

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

Всего записей: 174 | Зарегистр. 12-01-2007 | Отправлено: 14:18 17-01-2008 | Исправлено: aka_smile, 14:20 17-01-2008
Genri

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

Цитата:
есть же разница между ф-циями, вызываемыми из инсталлятора, и скриптом, вызываемым после установки ?

-- скрипт тоже можно вызывать в процессе установки. Но в целом, я согласен с тем, что использование функций предпочтительней.
Если поможет, ниже скрипт, который запускает калькулятор, дожидается его запуска, находит в его окне EditBox и вводит в него цифры 222

Код:
 
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
 
[Code]
const
  WM_SETTEXT = $C;
 
function FindWindowEx(hWndM, hWndC: LongWord; lpszClass, lpszWindow: PChar): LongWord;
external 'FindWindowExA@user32.dll stdcall';
 
procedure InitializeWizard();
var
  ResultCode: Integer;
  AppWnd, EditWnd: LongWord;
  Text: String;
begin
  if Exec(ExpandConstant('{sys}\calc.exe'), '', '', SW_SHOW,
     ewWaitUntilIdle, ResultCode) then
  begin
    Text:= '222';
    AppWnd:= FindWindowByWindowName('Calculator');
    EditWnd := FindWindowEx(AppWnd, 0, 'EDIT', '');
    if EditWnd <> 0 then
      SendMessage(EditWnd, WM_SETTEXT, 0, CastStringToInteger(Text));
  end;
end;  


Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 15:31 17-01-2008
iTASmania_Inc



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

Цитата:
А можно сделать, чтобы на каждой странице мастера был разный WizardSmallImage.

Ничего сложного. Подробнее.
Genri
Ваш скрипт работает у меня неполностью, а именно: не осуществляется ввод числа 222. Не подскажете, в чём причина? Кстати, не могли бы Вы показать пример нажатия кнопок калькулятора и копирования из EditWnd нужного значения?

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 16:06 17-01-2008
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iTASmania_Inc -- возможно у тебя не англ. система. Тогда подозреваю, имя окна будет не Calculator, а Калькулятор или как-то так.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 16:39 17-01-2008
iTASmania_Inc



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

Цитата:
имя окна будет не Calculator

Ага, так и есть, спасибо за подсказку. А как насчёт реализации нажатия кнопок?

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 17:34 17-01-2008
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iTASmania_Inc
Код:
 
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
 
[Code]
const
  BM_CLICK   = $F5;
  WM_GETTEXT = $D;
  WM_GETTEXTLENGTH = $E;
 
function FindWindowEx(hWndM, hWndC: LongWord; lpszClass, lpszWindow: PChar): LongWord;
external 'FindWindowExA@user32.dll stdcall';
 
procedure InitializeWizard();
var
  ResultCode: Integer;
  AppWnd, EditWnd: LongWord;
  length: LongInt;
  Text: String;
begin
  if Exec(ExpandConstant('{sys}\calc.exe'), '', '', SW_SHOW,
     ewWaitUntilIdle, ResultCode) then
  begin
    AppWnd:= FindWindowByWindowName('Calculator');
    if AppWnd <> 0 then
      begin
        SendMessage(FindWindowEx(AppWnd, 0, 'Button', '7'), BM_CLICK, 0, 0);
        SendMessage(FindWindowEx(AppWnd, 0, 'Button', '/'), BM_CLICK, 0, 0);
        SendMessage(FindWindowEx(AppWnd, 0, 'Button', '8'), BM_CLICK, 0, 0);
        SendMessage(FindWindowEx(AppWnd, 0, 'Button', '='), BM_CLICK, 0, 0);
 
        EditWnd:= FindWindowEx(AppWnd, 0, 'EDIT', '');
        length:= SendMessage(EditWnd, WM_GETTEXTLENGTH, 0, 0);
        Text:= StringOfChar(' ', length);
        SendMessage(EditWnd, WM_GETTEXT, length, CastStringToInteger(Text));
         
        MsgBox(Text, mbInformation, MB_OK);
      end;
  end;
end;  

 
Добавлено:
iTASmania_Inc

Цитата:
скрипт работает у меня неполностью, а именно: не осуществляется ввод числа 222. Не подскажете, в чём причина?  
-- т.е. мысль о том, что я дал кривой скрипт, у тебя даже не возникла ?! Спасибо за доверие


Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 18:06 17-01-2008
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
ОГРОМНОЕ СПАСИБО! Как всегда гениальны!

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 18:26 17-01-2008
Sergey_AV



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
 
Огромное спасибо, буду в выходные разбираться . Однако, кому-то пригодилось, значит не столь уж "monkey business" .

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 20:20 17-01-2008
Raf_SE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ктонить может написать скрипт с этой инсталяхи? http://upload.com.ua/direct/900080931/AS_RUS.exe (2Мб). В частности интересует всплывающая картинка перед запуском инсталяхи и кнопка "О программе" в левом нижнем углу.

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

Всего записей: 1143 | Зарегистр. 06-08-2006 | Отправлено: 16:44 18-01-2008
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raf_SE
Кнопку "О программе" можно взять из примера Examples\CodeClasses.iss
а скрипт на заставку такой:
 
[Files]
Source: LOGO.bmp; DestDir: {tmp};  Flags: dontcopy
Source: manialogo.exe; DestDir: {tmp};  Flags: dontcopy
 
[Code]
function InitializeSetup(): Boolean;
var
  Res: Integer;
begin
  ExtractTemporaryFile('LOGO.bmp')
  ExtractTemporaryFile('manialogo.exe')
  Exec(ExpandConstant('{tmp}\manialogo.exe'),'','',SW_SHOW,ewWaitUntilTerminated,Res)
  Result:=True
end;
 
Эти файлы распакуй с помощью innounp или вытащи с темпа при запущеном инсталле.

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 17:27 18-01-2008
Raf_SE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sampron
Мож написать скрипт кнопочки? Я просто не шарю в этих вещах, посему из CodeClasses.iss не смог его выделить.

Всего записей: 1143 | Зарегистр. 06-08-2006 | Отправлено: 19:38 18-01-2008
iTASmania_Inc



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

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 19:55 18-01-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