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

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



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sampron
А возможно сделать без WindowVisible=yes, а c значением WindowVisible=no??

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 15:48 12-01-2007 | Исправлено: NightW0lf, 15:49 12-01-2007
Sampron

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

Цитата:
А возможно сделать без WindowVisible=yes, а c значением WindowVisible=no??

 
Попробуй вот этот код только фоновая картинка идёт в .bmp
 
[Files]
Source: C:\Fon.bmp; DestDir: {tmp}; Flags: dontcopy
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
 
[Code]
const
BACKGROUND=5; // "5"-по центру, "6"-растянуто на весь экран, "1,2,3,4"-в разных углах экрана
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';
function GetSystemMetrics(nIndex:Integer):Integer;
external 'GetSystemMetrics@user32.dll stdcall';
procedure InitializeWizard();
var
BackgroundBitmapImage: TBitmapImage;
s:string;
width, height:Integer;
begin
MainForm.BORDERSTYLE:=bsNone;
width:=GetSystemMetrics(0);
height:=GetSystemMetrics(1);
MainForm.Width:=width;
MainForm.Height:=height;
width:=MainForm.ClientWidth;
height:=MainForm.ClientHeight;
ExtractTemporaryFile('Fon.bmp');
s:=ExpandConstant('{tmp}')+'\Fon.bmp';
BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Bitmap.LoadFromFile(s);
BackgroundBitmapImage.Left := 0;
BackgroundBitmapImage.Top := 0;
BackgroundBitmapImage.Width:=width;
BackgroundBitmapImage.Height:=height;
BackgroundBitmapImage.Parent := MainForm;
BackgroundBitmapImage.Stretch:=True;
MainForm.Visible:=True;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall
then
begin
ExtractTemporaryFile('1.jpg');  //это файлы для слайд-шоу, их может быть и больше
ExtractTemporaryFile('2.jpg');
ExtractTemporaryFile('3.jpg');
isxbb_AddImage(ExpandConstant('{tmp}')+'\1.jpg',BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant('{tmp}')+'\2.jpg',BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant('{tmp}')+'\3.jpg',BACKGROUND or TIMER);
isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
isxbb_StartTimer(3,BACKGROUND) //это таймер для слайд-шоу в секундах
end
else if CurStep=ssPostInstall then
isxbb_KillTimer(BACKGROUND);
end;

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

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как изменить размер окна инсталлятора ? Мнеб его побольше сделать...

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



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

Цитата:
Попробуй вот этот код только фоновая картинка идёт в .bmp

СПАСИБО!  
Работает, НО теперь у меня пропала надпись заголовка инсталлятора (просто пустая стока) и пропал текст в "LicenseFile" и "InfoBeforeFile".
Я так понял это из-за "MainForm.BORDERSTYLE:=bsNone;".
Кто нибудь может помочь устарнить это?

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 17:10 12-01-2007 | Исправлено: NightW0lf, 18:14 12-01-2007
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Можно ли в Page.CheckListBox.AddCheckBox прикрутить горизонтальный скрол? А то текст не умещается, и некрасиво смотрится когда длинные названия.

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



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

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 17:19 12-01-2007
Sampron

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

Цитата:
Как изменить размер окна инсталлятора ? Мнеб его побольше сделать...

 
[Code]
procedure InitializeWizard();
begin
  WizardForm.Width:=640;
  WizardForm.Height:=480;
end;
 
 
 
 
Добавлено:
Но это лучше переделывать в файле Setup.e32

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



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

Всего записей: 466 | Зарегистр. 31-01-2003 | Отправлено: 18:55 12-01-2007
NightW0lf



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

Цитата:
Работает, НО теперь у меня пропала надпись заголовка инсталлятора (просто пустая стока) и пропал текст в "LicenseFile" и "InfoBeforeFile".  
Я так понял это из-за "MainForm.BORDERSTYLE:=bsNone;".

Вот полный исправленный пример фон из .BMP, а слайд-шоу из .JPG.

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 19:06 12-01-2007 | Исправлено: NightW0lf, 19:23 12-01-2007
BAPK

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

Всего записей: 34 | Зарегистр. 27-01-2006 | Отправлено: 22:33 12-01-2007
NightW0lf



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
А можно добавить текст в этот прогресс бар?

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 23:02 12-01-2007
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите как выделить строку из ини файла и присвоить переменной первые 2 символа этой строки ?
 
Добавлено:
Почему если я пишу вот так
[Files]
Source: G:\Модуль\*.ini; DestDir: {app}; Flags: recursesubdirs createallsubdirs sortfilesbyextension ignoreversion; AfterInstall: Boxname
то процедура Boxname выполняется каждый раз после распаковки КАЖДОГО файла ? Как это убрать ? Мне нужно, что бы она выполнилась 1 раз после распаковки ВСЕХ файлов и всё.

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 23:27 12-01-2007 | Исправлено: maxdddca123, 00:44 13-01-2007
Serge2005

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Перезалейте, пожалуйста, руководства!
 
Скажите, пожалуйста, как в качестве пути вставить имя каталога, которое пользователь ввел для установки?
То есть, пользователь выбирает ставить программы в %ProgramFiles%\<b>Program_test</b>.
Программа должна скопировать часть файлов в эту папку, а часть в {userappdata}\<b>Program_test</b>. Как это осуществить?

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 01:25 13-01-2007
Sampron

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

Цитата:
А можно добавить текст в этот прогресс бар?

+1 Тоже этого хочу но в его коде это не получается.
 
Genri
ПЛЗ добавь текст с возможностью в дальнейшем редактировать размер страницы, и если реально сделай так чтобы прогресс-бар выполнялся одновременно с Splash-рисунком.

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NightW0lf
Цитата:
А можно добавить текст в этот прогресс бар?
-- c Inno Setup идет такой замечательный пример, как CodeClasses.iss. Даже беглого взгляда на него достаточно, чтобы дать ответ на твой вопрос.
 
 
Добавлено:
Sampron
Цитата:
Тоже этого хочу но в его коде это не получается.
-- хм.. даже представить не могу, что надо сделать, чтобы не получилось.
Код:
 
[Setup]  
AppName=My Program  
AppVerName=My Program version 1.5  
DefaultDirName={pf}\My Program  
DisableProgramGroupPage=yes  
WindowVisible=yes
 
[Files]  
Source: Files\*.*; DestDir: {app}; Flags: ignoreversion
Source: WizModernSmallImage.bmp; Flags: dontcopy
 
[Code]
function GetSystemMetrics(nIndex:Integer):Integer;
external 'GetSystemMetrics@user32.dll stdcall';
 
procedure InitializeWizard();
var
  Form: TSetupForm;
  ProgressBar: TNewProgressBar;
  CancelButton: TButton;
  StaticText: TNewStaticText;
  BitmapImage: TBitmapImage;
  BitmapFileName: String;
  i: Integer;
begin
  Form := CreateCustomForm();
  try
    with Form do
      begin
        ClientWidth := ScaleX(380);
        ClientHeight := ScaleY(120);
        BorderStyle:= bsDialog;
        Left:= GetSystemMetrics(16) - ClientWidth  -  ScaleX(12);
        Top:=  GetSystemMetrics(17) - ClientHeight  - ScaleY(12);
      end;
 
    BitmapFileName := ExpandConstant('{tmp}\WizModernSmallImage.bmp');
    ExtractTemporaryFile(ExtractFileName(BitmapFileName));
    BitmapImage := TBitmapImage.Create(Form);
    BitmapImage.Left := ScaleX(8);
    BitmapImage.Top := ScaleY(8);
    BitmapImage.AutoSize := True;
    BitmapImage.Bitmap.LoadFromFile(BitmapFileName);
    BitmapImage.Parent := Form;
 
    StaticText := TNewStaticText.Create(Form);
    StaticText.Top := BitmapImage.Top;
    StaticText.Left := BitmapImage.Left + BitmapImage.Width + ScaleX(8)
    StaticText.Caption := 'Inno Setup is a free installer for Windows programs.' +
                     + #10#13 + 'Support for all versions of Windows in use today';
    StaticText.AutoSize := True;
    StaticText.Parent := Form;
   
    CancelButton := TButton.Create(Form);
    CancelButton.Parent := Form;
    CancelButton.Width := ScaleX(75);
    CancelButton.Height := ScaleY(23);
    CancelButton.Left := Form.ClientWidth - ScaleX(75 + 10);
    CancelButton.Top := Form.ClientHeight - ScaleY(23 + 10);
    CancelButton.Caption := 'Cancel';
    CancelButton.ModalResult := mrCancel;
    CancelButton.Cancel := True;
 
    ProgressBar := TNewProgressBar.Create(Form);
    with ProgressBar do
      begin
        Height := CancelButton.Height - ScaleY(8);
        Width := Form.Width - ScaleX(128);
        Top := CancelButton.Top;
        Left := BitmapImage.Left;
        Parent := Form;
        Min:= 0;
        Max:= 30;
        Position := 0;
      end;
 
    Form.ActiveControl := CancelButton;
    Form.Show();
 
    for i:= 0 to 30 do
      begin
        ProgressBar.Position:= i;
        Form.Repaint;
        Sleep(500);
        i:= i + 1;
      end;
  finally
    Form.Free();
  end;
end;

 
 
Добавлено:
и хочу обратить внимание - это не я писал. Это практически один-в-один скопировано из того-же CodeClasses.iss. Поменял только размеры и положение. Вывод - примеры никто не смотрит. Что очень плохо.

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

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

Цитата:
Перезалейте, пожалуйста, руководства!  
 
Скажите, пожалуйста, как в качестве пути вставить имя каталога, которое пользователь ввел для установки?  
То есть, пользователь выбирает ставить программы в %ProgramFiles%\<b>Program_test</b>.  
Программа должна скопировать часть файлов в эту папку, а часть в {userappdata}\<b>Program_test</b>. Как это осуществить?

 
Дополнение: это не дефолтовая директория, но для дефолтовой тоже должно работать....
 
2. - Потом в одном из скопированных в аппдата фалов (ини) надо поменять значения некоторых параметром. Как там прописывать пути?

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 01:38 13-01-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XuM -- слегка глянул. все-таки работает. но есть глюк (пока не разобрался) - модифай работает только при выборочной установке. т.е. если ставить по полной - при модифай все анчекед. похоже это не твой баг, а UninsHs.exe. будет время - повожусь.

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мдя. Хоть бы послали куда-нибудь...

Всего записей: 34 | Зарегистр. 27-01-2006 | Отправлено: 01:46 13-01-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serge2005 -- думаю, сделать можно, но не нужно. ИМХО более правильно, в {userappdata} иметь фолдер с именем программы, а не именем папки, куда программа установлена. Иначе могут быть проблемы. Например, юзер установит программу в папку ХХХ, которой нет в ProgramFiles, но есть в userappdata

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
СУПЕР!!! ОГРОМНОЕ СПАСИБО!!!
 
Теперь про InstallShield можно забыть, когда всю красоту можно реализовать в inno, с помощью Лучших на форуме

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 01:55 13-01-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 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.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru