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

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. AlexandP, постараюсь Вам помочь. Слепок системного реестра до и после установки приложения, можно получить с помощью программы RegShot 2.0 Unicode (ее ранняя версия есть в руководстве Kindly версии 5.1). Для экспорта .reg-ключей в формат Inno Setup, используйте ISTool. Более подробная инструкция по синтаксису секции [Registry] см. руководства Kindly + файл-справку по Inno Setup от Bagira. Большое им за это спасибо!

Всего записей: 711 | Зарегистр. 19-02-2008 | Отправлено: 11:52 31-07-2008
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri - а вариант с паузой и запуском анимации подойдёт? Только авишку желательно сделать более похожей на прогрессбар.

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 11:53 31-07-2008 | Исправлено: Victor_Dobrov, 12:01 31-07-2008
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте уважаемый Виктор Добров, прошу извинить меня за назойливость. Но, если Вам не сложно, пожалуйста приведите отдельно от "Corona Skin" примеры скриптов: а) реализации озвучки клика по кнопке (.wav); б) реализации расширенного прогресс-бара. Вы используете препроцессор, для меня это несколько сложно, ведь я еще только начал глубоко познавать Inno Setup. Буду искренне признателен за Вашу помощь!

Всего записей: 711 | Зарегистр. 19-02-2008 | Отправлено: 12:28 31-07-2008
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_Dobrov -- да в принципе оба варианта хороши. Но в некоторых случаях внешний екзешник предпочтительней. Зависит от того, в какой момент нужен этот прогрессбар.
Два варианта, скрипт на основании твоего кода и скрипт на основании файлов ExpeditorR. Инсталлятор ожидает окончания выполнения пинга (просто для примера, в реальном скрипте в этом месте будет любой длительный процесс). Так как нужен результат этого процесса, для него ewNoWait ставить нельзя (а иначе и прогрессбар не нужен). На мой взгляд, второй вариант предпочтительней. Ну а в других ситуациях, твой может быть лучше.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 14:40 31-07-2008 | Исправлено: Genri, 14:41 31-07-2008
Diawer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите с моим вопросом, очень надо (срочно), это подправленный под себя
скрипт из "Коллекция скриптов - SelectAndCopyKey.iss", дело в том что копируется игра с
содержащимся в ней Legend.exe и если у пользователя есть крякнутый Legend.exe, то после его
выбора он должен перезаписывать оригинальный, но почему-то не перезаписывает.

Всего записей: 180 | Зарегистр. 08-05-2007 | Отправлено: 15:50 31-07-2008
Victor_Dobrov



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

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 15:54 31-07-2008
Genri

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

Цитата:
копируется игра с содержащимся в ней Legend.exe  
-- т.е. ты инсталлируешь игру? И в ней надо заменить файл? Т.е. заменить после того, как игра установлена? Тогда почему ты копируешь файл до установки? Т.е. ты сначала копируешь файл, а потом идет инсталляция, которая опять переписывает файл на оригинальный.
 
 
Добавлено:
В данном случае "Кто раньше встал, того и тапки" не подходит. Здесь срабатывает "Смеется тот, кто смеется последним"

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 16:08 31-07-2008
Rabben

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имеется программа на английском языке, нужно сделать так, чтоб при выборе языка копировались определенные файлы (т.е. при выборе английского копировались все файлы, а при выборе русского только те, которые не влияют на язык + файлы русифицирующие программу). Помогите плз со скриптом)

Всего записей: 13 | Зарегистр. 08-06-2008 | Отправлено: 16:21 31-07-2008
Genri

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

Код:
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DirExistsWarning=no
DefaultDirName={pf}\My Program
 
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl"
 
[Files]
Source: MyProg.exe; DestDir: {app}
Source: MyProg.chm; DestDir: {app}; Languages: en
Source: MyDll.dll; DestDir: {app}; Languages: ru
; MyProg.exe инсталлируется в любом случае
; MyProg.chm инсталлируется только при выборе английского
; MyDll.dll инсталлируется только при выборе русского
 

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



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Victor_Dobrov
Планируете сделать проверку доступности сети? Может Ping по первому TTL, достаточно будет. Если нет, возможно есть пример?
 
Есть код Delphi, помогите перекроить в iss
 

Код:
//Implementing Internet Pings Using Icmp.dll
 
Unit ping;
 
Interface
Uses
  Windows, SysUtils, Classes;
 
Type
  TSunB = Packed Record
    s_b1, s_b2, s_b3, s_b4: byte;
  End;
 
  TSunW = Packed Record
    s_w1, s_w2: word;
  End;
 
  PIPAddr = ^TIPAddr;
  TIPAddr = Record
    Case integer Of
      0: (S_un_b: TSunB);
      1: (S_un_w: TSunW);
      2: (S_addr: longword);
  End;
 
  IPAddr = TIPAddr;
 
Function IcmpCreateFile: THandle; stdcall; external 'icmp.dll';
Function IcmpCloseHandle(icmpHandle: THandle): boolean; stdcall; external 'icmp.dll'
Function IcmpSendEcho(IcmpHandle: THandle; DestinationAddress: IPAddr;
  RequestData: Pointer; RequestSize: Smallint;
  RequestOptions: pointer;
  ReplyBuffer: Pointer;
  ReplySize: DWORD;
  Timeout: DWORD): DWORD; stdcall; external 'icmp.dll';
 
 
Function PingAd(InetAddress: String): boolean;
 
Implementation
 
Uses
  WinSock;
 
Function Fetch(Var AInput: String;
               Const ADelim: String = ' ';
               Const ADelete: Boolean = true) : String;
Var
  iPos: Integer;
Begin
  If ADelim = #0 Then
  Begin
    // AnsiPos does not work with #0
    iPos := Pos(ADelim, AInput);
  End
  Else
  Begin
    iPos := Pos(ADelim, AInput);
  End;
  If iPos = 0 Then
  Begin
    Result := AInput;
    If ADelete Then
    Begin
      AInput := '';
    End;
  End
  Else
  Begin
    result := Copy(AInput, 1, iPos - 1);
    If ADelete Then
    Begin
      Delete(AInput, 1, iPos + Length(ADelim) - 1);
    End;
  End;
End;
 
Procedure TranslateStringToTInAddr(AIP: String; Var AInAddr);
Var
  phe: PHostEnt;
  pac: PChar;
  GInitData: TWSAData;
Begin
  WSAStartup($101, GInitData);
  Try
    phe := GetHostByName(PChar(AIP));
    If Assigned(phe) Then
    Begin
      pac := phe^.h_addr_list^;
      If Assigned(pac) Then
      Begin
        With TIPAddr(AInAddr).S_un_b Do
        Begin
          s_b1 := Byte(pac[0]);
          s_b2 := Byte(pac[1]);
          s_b3 := Byte(pac[2]);
          s_b4 := Byte(pac[3]);
        End;
      End
      Else
      Begin
        Raise Exception.Create('Error getting IP from HostName');
      End;
    End
    Else
    Begin
      Raise Exception.Create('Error getting HostName');
    End;
  Except
    FillChar(AInAddr, SizeOf(AInAddr), #0);
  End;
  WSACleanup;
End;
 
Function PingAd(InetAddress: String): boolean;
Var
  Handle: THandle;
  InAddr: IPAddr;
  DW: DWORD;
  rep: Array[1..128] Of byte;
Begin
  result := false;
  Handle := IcmpCreateFile;
  If Handle = INVALID_HANDLE_VALUE Then
    Exit;
  TranslateStringToTInAddr(InetAddress, InAddr);
  DW := IcmpSendEcho(Handle, InAddr, Nil, 0, Nil, @rep, 128, 0);
  Result := (DW <> 0);
  IcmpCloseHandle(Handle);
End;
 
End.
 

Всего записей: 345 | Зарегистр. 12-11-2002 | Отправлено: 17:56 31-07-2008 | Исправлено: abasov, 19:22 31-07-2008
doom2d



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня тут маленькая проблема... Это мой первый код..
Подробнее...
 
У меня там в 2-местах InitializeWizard повторяется... Я не знаю как его удалить чтобы всё
выполнялось нормально... Помогите пожалуйста!

Всего записей: 25 | Зарегистр. 31-07-2008 | Отправлено: 18:29 31-07-2008 | Исправлено: doom2d, 09:31 01-08-2008
abasov



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
doom2d
http://victor-dobrov.narod.ru/InnoSetupFAQ_ru-board.chm
 
Коллекция скриптов и Сборник вопросов, собранных из этой и предыдущих частей топика.  
Там есть ответ на твой вопрос

Всего записей: 345 | Зарегистр. 12-11-2002 | Отправлено: 18:42 31-07-2008
Diawer

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

Цитата:
Genri

 

Цитата:
-- т.е. ты инсталлируешь игру? И в ней надо заменить файл? Т.е. заменить после того, как игра установлена? Тогда почему ты копируешь файл до установки? Т.е. ты сначала копируешь файл, а потом идет инсталляция, которая опять переписывает файл на оригинальный.
, да, действительно так и есть, тогда, как же сделать, чтобы файл копировался после установки?

Всего записей: 180 | Зарегистр. 08-05-2007 | Отправлено: 19:10 31-07-2008
doom2d



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abasov.
Дело в том, что я не понимаю в чём проблема и поэтому не знаю что искать в том списке  
сборника вопросов... про повтор InitializeWizard там нет ни слова...

Всего записей: 25 | Зарегистр. 31-07-2008 | Отправлено: 19:16 31-07-2008 | Исправлено: doom2d, 19:17 31-07-2008
AlexandP



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Artem_Butenko
Спасибо за ответ. Я так понял, что сделав слепок реестра нужно будет как-то еще найти разницу и эти ключи вписАть в нужный раздел иносетап?
По-поводу вопроса о размере файла забил... разбил методом тыка по гигу с копейками и записал по несколько файлов на диск.. все получилось.. теперь буду из противности изучать эту программу... и справку.

----------
3D печать, реклама, подарки

Всего записей: 420 | Зарегистр. 18-12-2006 | Отправлено: 20:43 31-07-2008
abasov



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
doom2d
 в факе ведь написано:
Просто вписывай значения из исходного procedure InitializeWizard уже без этой строчки:  
[Code]  
procedure InitializeWizard  
begin  
типа код вставки музыки  
end;  
begin  
типа код вставки фонового рисунка  
end;

Всего записей: 345 | Зарегистр. 12-11-2002 | Отправлено: 21:33 31-07-2008
Artem_Butenko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexandP сравнение изменений в системном реестре в RegShot осуществляется после снимка #2 (по кнопке "сравнить"). Рекомендую в данной программе включить мониторинг системного диска, на случай если Ваше приложение копирует файлы в папку Windows (например, шрифты, .dll и др.). Узнав "местоположение" .reg-ключей, сохраняем их (с помощью редактора реестра) в любой удобный каталог на HDD. Запускаем ISTool (благо для него есть русификатор), с помощью которого импортируем сохраненные ключи в формат Inno (Для этого в ISTool работаем с окном секции [Registry]: кликнув по свободному полю данного окна правой кнопкой мыши, выбираем в контекстом меню экспорт файлов реестра, находим соответствующие .reg-файлы на жестком диске). Теперь осталось правильно расставить кавычки длю ключей из секции [Registry]. Вот собственно и все (подробно, трудоемко и надежно). Успехов Вам в перепаковке приложений!

Всего записей: 711 | Зарегистр. 19-02-2008 | Отправлено: 21:57 31-07-2008
doom2d



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В том то и дело что у меня код вставики музыки начинается ни с этой процедуры...
http://narod.ru/disk/1771675000/codes.rar.html  - вот код вставки музыки и код вставки слайдшоу в отдельных
txt файлах - код который получился у меня - указан несколькими сообщениями выше...
Кто может посмотреть что я не так сделал... Я почитал что мне посоветовали... что то не помогает..

Всего записей: 25 | Зарегистр. 31-07-2008 | Отправлено: 22:35 31-07-2008 | Исправлено: doom2d, 23:27 31-07-2008
serg_aka_lain

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

Цитата:
Кто может посмотреть что я не так сделал...  
 
__ обработчик InitializeWizard повторяется два раза, нужно так Подробнее...  
 
 

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 00:14 01-08-2008 | Исправлено: serg_aka_lain, 00:17 01-08-2008
doom2d



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cпасибо конечно. Получился вот такой код -
Всё нормально компилится но при запуске готового инсталера проц загружается на 100% и
прога установки наглухо зависает.. В чём может быть проблема?
Подробнее...

Всего записей: 25 | Зарегистр. 31-07-2008 | Отправлено: 00:57 01-08-2008 | Исправлено: doom2d, 09:30 01-08-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