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

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

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

Widok (23-04-2007 18:02): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 105 106 107 108

   

haav



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

 
 
Это мощное средство для создания установочных пакетов [дистрибутивов] программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно легко самим создавать диалоги, используя спец. дизайнер. И всё это абсолютно бесплатно! По сравнению с NullSoft [основной конкурент на бесплатной ниве] мне albel понравилась более интуитивно-понятная структура скрипта, простота в настройке.  
 
Последний релиз: 5.1.11 [1 Марта 2007 года]
История версий | скачать  
 
Русификатор от NightW0lf для версии 5.1.11  
Скачать | зеркало
 
Русская справка к версиям 5.0.xx
Скачать | зеркало || cкачать в .chm формате
И снова BagIra на высоте
 
Руководство по расширенным возможностям Inno Setup 5 [не для чайников] от Kindly
[3 версия]  
Скачать | зеркало
[4 версия]  
Скачать | зеркало
[5 версия]  
Скачать | зеркало
 
Inno Setup Extensions Knowledge Base  
Скачать | зеркало
 
Примечание: начиная с версии 5.1.10 в Inno Setup при использовании в инсталляторе фонового изображения формата BMP стало глючить возможность растягивания картинки на весь экран - чтобы это исправить добавьте этот код.
Если вы захотите использовать метод проверки внешнего файла через сумму MD5 [который описан в 5 версии руководства по программированию в Inno Setup] для запуска инсталлятора то вам понадобится калькулятор суммы MD5, калькулятор сумм MD5, SHA-256, CRC32. Если вы хотите узнать какие ключи в реестр вносит та или иная программа [или игра] то Вам понадобится RegShot.



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



ISTool
 
www.istool.org
 
Последний релиз: 5.1.8 [18 Октября 2006 года] New
Скачать | зеркало  
[как сказано в описании изменений, добавлена поддержка новых директив 5.1.8]
 
Русификатор
Скачать | зеркало


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


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

Последний релиз: 1.02.5 [02 Апреля 2007 года]
Скачать | обновление
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.1.11.

Всего записей: 67 | Зарегистр. 11-12-2001 | Отправлено: 15:23 09-10-2002 | Исправлено: NightW0lf, 15:16 15-04-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GRom V
Если конечно я тебя правильно понял, то:
 
 
function InitializeSetup(): Boolean;
 
var
  Form: TSetupForm;
  ProgressBar: TNewProgressBar;
begin
    Form := CreateCustomForm();
  try
    Form.ClientWidth := ScaleX(512);
    Form.ClientHeight := ScaleY(128);
    Form.Caption := 'Hello from Genri';
    Form.Center;
 
    ProgressBar := TNewProgressBar.Create(Form);
    ProgressBar.Left := ScaleX(64);
    ProgressBar.Top := ScaleX(8);
    ProgressBar.Width := Form.Width - (2 * ProgressBar.Left);
    ProgressBar.Height := ScaleX(16);
    ProgressBar.Parent := Form;
    ProgressBar.Min:= 0;
    ProgressBar.Max:= 30;
    ProgressBar.Position := 0;
    Form.Show();
   
    ExtractTemporaryFile('test.mp3');
    ProgressBar.Position:= ProgressBar.Position + 10;
 
    ExtractTemporaryFile('1by1.exe');
    ProgressBar.Position:= ProgressBar.Position + 10;
 
    ExtractTemporaryFile('1by1.ini');
    ProgressBar.Position:= ProgressBar.Position + 10;
 
  finally
    Form.Free();
  end;
Result:= True;
end;
 

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 03:09 15-11-2006
GRom V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Genri Огроиное спасибо!
 
Позволь воспользоваться твоим уменеем есче.
Вот есть такая штука:
 
[Setup]
WindowVisible=yes
WindowResizable=no
WindowShowCaption=no
 
[Files]
Source: C:\isxbb.dll; DestDir: {tmp}; Flags: dontcopy
Source: C:\1.jpg; DestDir: {tmp}; Flags: dontcopy
//Это файлы для слайд-шоу (может быть больше)
Source: C:\2.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\3.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\4.jpg; DestDir: {tmp}; Flags: dontcopy
 
[Code]
const
  BACKGROUND=6;
  TIMER=16;
 
function isxbb_AddImage(Image: PChar; Flags: Cardinal): Integer;
external 'isxbb_AddImage@files:isxbb.dll stdcall';
 
function isxbb_Init(hWnd: Integer): Integer;
external 'isxbb_Init@files:isxbb.dll stdcall';
 
function isxbb_StartTimer(Seconds: Integer; Flags: Cardinal): Integer;
external 'isxbb_StartTimer@files:isxbb.dll stdcall';
 
function isxbb_KillTimer(Flags: Cardinal): Integer;
external 'isxbb_KillTimer@files:isxbb.dll stdcall';
 
procedure InitializeWizard();
begin
    ExtractTemporaryFile('1.jpg');
    isxbb_AddImage(ExpandConstant('{tmp}')+'\1.jpg',BACKGROUND);
    isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
end;
 
procedure CurStepChanged(CurStep: TSetupStep);
begin
//В начале этапа установки запускаем слайд-шоу
 if CurStep=ssInstall
then
begin
ExtractTemporaryFile('2.jpg');
ExtractTemporaryFile('3.jpg');
ExtractTemporaryFile('4.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\2.jpg',BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant('{tmp}')+'\3.jpg',BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant('{tmp}')+'\4.jpg',BACKGROUND or TIMER);
isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
//Таймер показа изображений, в секундах
isxbb_StartTimer(3,BACKGROUND)
  end
//На завершающем этапе останавливаем таймер, при этом возвращается фоновое изображение по умолчанию
  else if CurStep=ssPostInstall then
    isxbb_KillTimer(BACKGROUND);
end;
 
 
 
Можно ли сделать смену картинок не по таймеру, а помере выполнения установки.
Например 10% - 1.jpg, 20% - 2.jpg и.т.д.

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 09:01 15-11-2006
chum2000

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KLERIK2222
не пиши "function", а просто DeleteFile('C:\Documents and Settings\User\Рабочий стол\гггг.txt');

Всего записей: 505 | Зарегистр. 04-03-2004 | Отправлено: 10:22 15-11-2006
KLERIK2222



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

Всего записей: 618 | Зарегистр. 29-03-2006 | Отправлено: 03:00 16-11-2006
Pantalone



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

Всего записей: 717 | Зарегистр. 16-02-2004 | Отправлено: 14:03 16-11-2006 | Исправлено: Pantalone, 15:56 16-11-2006
andremar

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А выполнима ли такая задачка: при инсталяции проверить IP пользователя и взависимости от этого (список разрешенных/запрещенных) разрешить или отменить установку?

Всего записей: 11 | Зарегистр. 13-10-2006 | Отправлено: 13:45 17-11-2006
Dima555555



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Inno Setup 5.1.8 дайте русик плиз....

Всего записей: 1682 | Зарегистр. 12-06-2006 | Отправлено: 14:56 17-11-2006
Genri

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

Цитата:
проверить IP пользователя  
- выполнимо. в свое время использовал IPUtils.dll (где брал - не помню ), которая экспортировала 3 функции:
 
function GetLocalComputerName: PChar;
external 'GetLocalComputerName@files:IPUtils.dll stdcall';
 
function GetLocalIPAddress: PChar;
external 'GetLocalIPAddress@files:IPUtils.dll stdcall';
 
function GetIPAddress(HostName: PChar): PChar;
external 'GetIPAddress@files:IPUtils.dll stdcall';
 
можешь и сам написать, могу и выслать.
 
GRom V
если есть исходники длл-ки - думаю достаточно просто. С нуля писать - сложнее. Я не програмист

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 17:13 17-11-2006
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
andremar
Попробую здесь выложить IPUtils.dll d кодировке base64

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 11:22 20-11-2006
VitaliM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
Чего-то у меня ни одна софтина не понимает твой архив UUE.

Всего записей: 2087 | Зарегистр. 12-01-2005 | Отправлено: 13:49 20-11-2006
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. все скопировать в файл *.txt
2. убрать пробелы везде кнроме заголовка (операция replace в любом редакторе)
3. переименовать в *.eml
4. открыть любым почтовым клиентом.
5. сохранить аттач.
.....
128. научить меня правильно выкладывать base64

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 14:07 20-11-2006
VitaliM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
Тебе смешно, откуда ж я знал, что это формат письма с вложением. Здесь если постят файлы в таком виде, то обычно это формат UUE.
Архив извлек, ОК.

Всего записей: 2087 | Зарегистр. 12-01-2005 | Отправлено: 15:27 20-11-2006
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так сказать, для тренировки выкладывания в UUE, и для сообщества, выкладываю еще одну длл-ку с тремя функциями:
 
// Запуск консольного приложения
function ExecConsoleAppX(CommandLine: PChar): PChar;
external 'ExecConsoleAppX@files:ISTask.dll stdcall delayload';
 
// Завершение процесса по имени файла
function KillTask(ExeFileName: string): Integer;
external 'KillTask@files:ISTask.dll stdcall delayload';
 
// Проверка, запущен ли процесс по имени файла
function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';
 
Надергал в свое время из инета и собрал в одну длл-ку. Скачать в формате UUE здесь
 
Добавлено:
если кому надо - есть исходники под делфи 5

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 19:36 20-11-2006 | Исправлено: Genri, 19:45 20-11-2006
jonikDk



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

Цитата:
Добавлено:  
если кому надо - есть исходники под делфи 5

 
выложи куда то или  скинь на ящик master_jk Собака mail.ru
 

Всего записей: 1483 | Зарегистр. 01-03-2004 | Отправлено: 20:22 20-11-2006
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Исходники упомянутой выше ISTask.dll под Delphi 5 здесь

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 11:30 21-11-2006
andremar

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

Цитата:
IPUtils.dll d кодировке base64  

Спасибо, узнал для себя много нового, осталось как-то пристроить эту dll. Спрашивать "как?" наверное некрасиво, может литературу посоветуете

Всего записей: 11 | Зарегистр. 13-10-2006 | Отправлено: 20:13 21-11-2006
Genri

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

Код:
 
[Files]
Source: "IPUtils.dll"; Flags: dontcopy
 
[Code]
const
  CR = #10#13;
 
function GetLocalIPAddress: PChar;
external 'GetLocalIPAddress@files:IPUtils.dll stdcall';
 
function InitializeSetup(): Boolean;
var
  currentIP: string;
begin
  Result:= True;
  currentIP:= GetLocalIPAddress;
 
    if currentIP <> '192.168.1.1' then
      begin
        MsgBox('Setup Aborted !' + CR +
               'Check Your Licence !', mbError, MB_OK);
        Result:= False;
      end;
end;
 

Это в простейшем виде. Тюнинг на твое усмотрение.
А почитать... в первую очередь хелп + поставляемые с программой примеры. Там много интересного.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 00:21 22-11-2006
andremar

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
Спасибо, все отлично работает! Проверяются IP и если это враги - программа не устанавливается)
Появилась мысль: а если враг сбегает в магазин за магарычем, тогда можно будет ему сказать серийник.  
Поле ввода серийного номера появляется только "с информацией о пользователе" (имя, организация). Можно сделать так чтоб запрашивалось ввести только номер?

Всего записей: 11 | Зарегистр. 13-10-2006 | Отправлено: 12:57 23-11-2006 | Исправлено: andremar, 12:59 23-11-2006
Genri

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

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 13:37 23-11-2006
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто из програмеров подскажет, почему нижеуказанная конструкция не работает:

Код:
 
[Code]
type
   TProc = procedure(HandleW, msg, idEvent, TimeSys: LongInt);
 
function SetTimer(hWnd: HWND; nIDEvent, uElapse: LongInt;
                  lpTimerFunc: TProc): LongInt;
external 'SetTimer@user32.dll stdcall';
 
procedure OnTimer(HandleW, msg, idEvent, TimeSys: LongInt);
begin
   MsgBox('Hello.', mbInformation, MB_OK);
end;
 
function InitializeSetup(): Boolean;
var
   pTimer: LongInt;
 
begin
   pTimer:= SetTimer(0, 0, 1000, @OnTimer);
   Result:= True;
end;
 

Все прекрасно компилится, но выдает ошибку доступа при выполнении.
Подозреваю, что ошибка в передаче параметров при вызове SetTimer. Можно, конечно, реализовать через дополнительную длл-переходник. Но это, как говорил Остап Ибрагимович: "Не чистая работа..."

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 21:18 24-11-2006 | Исправлено: Genri, 21:21 24-11-2006
   

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

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru