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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GloThin
Респект!
 
А вот такой вопрос как можно реализовать возможность извлечения файлов во временную папку в Windows 9x? Я тут в справке нашел function GetTempDir: String; думаю что-то поддходящие, НО как юзать не знаю.

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 17:58 21-04-2007
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ! Оцените переделаный S.T.A.L.K.E.R.-подобный скрипт. Изменения:
Сведения о системе показывается в отдельном окне и доступны на любой странице, информация обновляется.
Вопрос: можно-ли показывать/скрывать кнопкой свою страницу (не окно) на любом этапе установки?
 
[Setup]
AppName=SystemTest
AppVerName=SystemTest
CreateAppDir=false
OutputDir=userdocs:
OutputBaseFilename=SystemTest
 
[Files]
Source: compiler:get_hw_caps.dll; Flags: dontcopy
 
[Code]
const oneMB =1024*1024; LightColor = $EEEEEE; RedColor = $CCCCFF; NeedMB = 512; NeedMHZ = 1800; NeedRAM = 512; NeedVRAM = 128; NeedSwap = 1024; //Прописать, сколько мегабайт необходимо
var FormTop, FormFlag: Integer; CancelButton, InfoButton, UpdateButton: TButton; InfoForm: TForm; System, SystemNamePanel, Processor, VideoCardPanel, AudioCardPanel, RAMPanel, PageFilePanel, Hdd: TPanel;
type TMemoryStatus = record dwLength, dwMemoryLoad, dwTotalPhys, dwAvailPhys, dwTotalPageFile, dwAvailPageFile, dwTotalVirtual, dwAvailVirtual: Longint; end;
 
procedure GlobalMemoryStatus(var lpBuffer: TMemoryStatus); external 'GlobalMemoryStatus@kernel32.dll';
function GetSystemMetrics(nIndex: Integer):Integer; external 'GetSystemMetrics@user32.dll stdcall';
function sndPlaySound(lpszSoundName: string; uFlags: cardinal):integer; external 'sndPlaySoundA@winmm.dll stdcall';
function GetHardDrivesCount(): Integer; external 'hwc_GetHardDrivesCount@files:get_hw_caps.dll stdcall';
function GetHardDriveName(hdd: Integer): PChar; external 'hwc_GetHardDriveName@files:get_hw_caps.dll stdcall';
function GetHardDriveFreeSpace(hdd: integer): Integer; external 'hwc_GetHardDriveFreeSpace@files:get_hw_caps.dll stdcall';
function GetHardDriveTotalSpace(hdd: integer): Integer; external 'hwc_GetHardDriveTotalSpace@files:get_hw_caps.dll stdcall';
function GetSoundCards(): Integer; external 'hwc_GetSoundCards@files:get_hw_caps.dll stdcall';
function GetSoundCardName(): PChar; external 'hwc_GetSoundCardName@files:get_hw_caps.dll stdcall';
function GetSystemPage(): Integer; external 'hwc_GetSystemPage@files:get_hw_caps.dll stdcall';
function GetSystemPhys(): Integer; external 'hwc_GetSystemPhys@files:get_hw_caps.dll stdcall';
function GetVideoCardName(): PChar; external 'hwc_GetVideoCardName@files:get_hw_caps.dll stdcall';
function GetVidMemLocal(): Integer; external 'hwc_GetVidMemLocal@files:get_hw_caps.dll stdcall';
 
Procedure UpdateButtonOnClick(Sender: TObject);
var ProcessorName: String; Passed: Integer; CpuMHZ: Cardinal; Memory: TMemoryStatus;
    Begin
GetVidMemLocal; GetSoundCards; GlobalMemoryStatus(Memory); Passed:=1;
RegQueryDWordValue(HKLM, 'HARDWARE\DESCRIPTION\System\CentralProcessor\0','~MHz', CpuMHZ);
RegQueryStringValue(HKLM, 'HARDWARE\DESCRIPTION\System\CentralProcessor\0','ProcessorNameString', ProcessorName);
 
with InfoForm do begin
    Font.Name:= 'Arial'; Font.Height:= 15; BorderStyle:= bsNone;
        ClientWidth:= WizardForm.ClientWidth; Left:= WizardForm.Left + 3; Top:= WizardForm.Height - WizardForm.ClientHeight + WizardForm.Top + FormTop;
    if (FormTop = WizardForm.WizardSmallBitmapImage.Height)
        then ClientHeight:= WizardForm.Bevel.Top - 9 - WizardForm.WizardSmallBitmapImage.Top - WizardForm.WizardSmallBitmapImage.Height
        else begin ClientHeight:= WizardForm.WizardBitmapImage.Height - 1;
            with TNewStaticText.Create(InfoForm) do begin
            Caption:='Результаты тестирования компьютера:'; Font.Name:= 'Times'; Font.Height:= 24; Font.Color:= $552222; Top:=ScaleX(25); Left:=ScaleX(90); Parent:= InfoForm; end;
        end;
 
System:=TPanel.Create(InfoForm);
with System do begin
    Caption:= ' О системе'; Color:= LightColor; Parent:= InfoForm; Alignment:=taLeftJustify;
    if (FormTop = WizardForm.WizardSmallBitmapImage.Height) then Top:= ScaleY(26) else Top:= ScaleY(80);
    Left:= ScaleX(30); Width:= ScaleX(108); Height:= ScaleY(27); BevelInner:= bvSpace; BevelOuter:= bvLowered;
end;
 
SystemNamePanel:=TPanel.Create(InfoForm);
with SystemNamePanel do begin
    Caption:=ExpandConstant(' {reg:HKLM\Software\Microsoft\Windows NT\CurrentVersion,ProductName|}') + ExpandConstant(' {reg:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion,CSDVersion|}') +' сборка ' +GetWindowsVersionString();
    Left:= System.Left + System.Width - 2; Width:= ScaleX(330); Top:= System.Top; Height:= System.Height;
    Color:= $C0DCC0; Parent:= InfoForm; BevelInner:= bvSpace; BevelOuter:= bvLowered; Alignment:=taLeftJustify;
end;
 
Processor:=TPanel.Create(InfoForm);
with Processor do begin
    Caption:= ' Процессор'; Color:= System.Color; Parent:= InfoForm; Alignment:=taLeftJustify;
    Top:= System.Top + System.Height - 2; Left:= System.Left; Width:= System.Width; Height:= System.Height; BevelInner:= bvSpace;    BevelOuter:= bvLowered;
end;
 
with TPanel.Create(InfoForm) do begin        //CPU
    Caption:=' '+ ProcessorName+' '+IntToStr(CpuMHZ/1000)+'.'+Copy(IntToStr(CpuMHZ), 2, 3)+'GHz';
    Top:= Processor.Top; Left:= SystemNamePanel.Left; Width:= SystemNamePanel.Width; Height:= System.Height; BevelInner:= bvSpace; BevelOuter:= bvLowered;
    if CpuMHZ < NeedMHZ then begin Color:= RedColor; Passed:= 0; end else Color:= SystemNamePanel.Color;
    Parent:= InfoForm; Alignment:=taLeftJustify;
end;
 
RAMPanel:=TPanel.Create(InfoForm);
with RAMPanel do begin
    Caption:=' Объём памяти'; Color:= System.Color; Parent:= InfoForm; Alignment:=taLeftJustify;
    Top:=Processor.Top + System.Height - 2; Left:= System.Left; Width:= System.Width; Height:= System.Height; BevelInner:= bvSpace;    BevelOuter:= bvLowered;
end;
 
with TPanel.Create(InfoForm) do begin        //RAM
    Caption:=' '+IntToStr(Memory.dwTotalPhys/oneMB) +'Мб' +' всего, '+ IntToStr(Memory.dwAvailPhys/oneMB) +'Мб свободно, ' + IntToStr((Memory.dwTotalPhys - Memory.dwAvailPhys)/oneMB) +'Мб используется'
    Top:=RAMPanel.Top; Left:= SystemNamePanel.Left; Width:= SystemNamePanel.Width; Height:= System.Height; BevelInner:= bvSpace;    BevelOuter:= bvLowered;
    if GetSystemPhys < NeedRAM then begin Color:= RedColor; Passed:= 0; end else Color:= SystemNamePanel.Color;
    Parent:= InfoForm; Alignment:=taLeftJustify;
end;
 
VideoCardPanel:=TPanel.Create(InfoForm);
with VideoCardPanel do begin
    Caption:=' Видеоадаптер'; Color:= System.Color; Parent:= InfoForm; Alignment:=taLeftJustify;
    Top:=RAMPanel.Top + System.Height - 2; Left:= System.Left; Width:= System.Width; Height:= System.Height; BevelInner:= bvSpace; BevelOuter:= bvLowered;
end;
 
with TPanel.Create(InfoForm) do begin        //Video
    Caption:= ' ' + GetVideoCardName+ ', '+ IntToStr(round(GetVidMemLocal/oneMB/64)*64)+'Мб, разрешение '+ IntToStr(GetSystemMetrics(0)) + 'x' +IntToStr(GetSystemMetrics(1));
    Top:=VideoCardPanel.Top; Left:= SystemNamePanel.Left; Width:= SystemNamePanel.Width; Height:= System.Height; BevelInner:= bvSpace;    BevelOuter:= bvLowered;
    if round(GetVidMemLocal/oneMB/64)*64 < NeedVRAM then begin Color:= RedColor; Passed:= 0; end else Color:= SystemNamePanel.Color;
    Parent:= InfoForm; Alignment:=taLeftJustify;
end;
 
AudioCardPanel:=TPanel.Create(InfoForm);
with AudioCardPanel do begin
    Caption:=' Звуковая карта'; Color:= System.Color; Parent:= InfoForm; Alignment:=taLeftJustify;
    Top:=VideoCardPanel.Top + System.Height - 2; Left:= System.Left; Width:= System.Width; Height:= System.Height; BevelInner:= bvSpace;    BevelOuter:= bvLowered;
end;
 
with TPanel.Create(InfoForm) do begin        //Sound
    if Pos('SB', UpperCase(GetSoundCardName)) > 0 then Caption:=' Creative ' +GetSoundCardName else Caption:=' '+GetSoundCardName
    Top:=AudioCardPanel.Top; Left:= SystemNamePanel.Left; Width:= SystemNamePanel.Width; Height:= System.Height; BevelInner:= bvSpace;    BevelOuter:= bvLowered;
    if GetSoundCards = 0 then begin Color:= RedColor; Caption:=' Не обнаружено'; Passed:= 0; end else Color:= SystemNamePanel.Color;
    Parent:= InfoForm; Alignment:=taLeftJustify;
end;
 
PageFilePanel:=TPanel.Create(InfoForm);
with PageFilePanel do begin
    Caption:=' Файл подкачки'; Color:= System.Color; Parent:= InfoForm; Alignment:=taLeftJustify;
    Top:=AudioCardPanel.Top + System.Height - 2; Left:= System.Left; Width:= System.Width; Height:= System.Height; BevelInner:= bvSpace;    BevelOuter:= bvLowered;
end;
 
with TPanel.Create(InfoForm) do begin        //Swap
    Caption:=' '+IntToStr(GetSystemPage)+'Мб всего, ' + IntToStr((Memory.dwTotalPageFile - Memory.dwAvailPageFile)/oneMB) + 'Мб занято системным кэшем';
    Top:=PageFilePanel.Top; Left:= SystemNamePanel.Left; Width:= SystemNamePanel.Width; Height:= System.Height; BevelInner:= bvSpace;    BevelOuter:= bvLowered;
    if GetSystemPage < NeedSwap then begin Color:= RedColor; Passed:= 0; end else Color:= SystemNamePanel.Color;
    Parent:= InfoForm; Alignment:=taLeftJustify;
end;
 
Hdd:=TPanel.Create(InfoForm);
with Hdd do begin
    Caption:=' Системный диск'; Color:= System.Color; Parent:= InfoForm; Alignment:=taLeftJustify;
    Top:=PageFilePanel.Top + System.Height - 2; Left:= System.Left; Width:= System.Width; Height:= System.Height; BevelInner:= bvSpace;    BevelOuter:= bvLowered;
end;
 
with TPanel.Create(InfoForm) do begin        //Hdd
    Caption:=' '+IntToStr(GetHardDriveTotalSpace(0))+'Мб всего, '+ IntToStr(GetHardDriveFreeSpace(0))+'Мб свободно на '+ RemoveBackslash(Uppercase(GetHardDriveName(0)))
    Top:=Hdd.Top; Left:= SystemNamePanel.Left; Width:= SystemNamePanel.Width; Height:= System.Height; BevelInner:= bvSpace;    BevelOuter:= bvLowered;
    if GetHardDriveFreeSpace(0) < NeedMB then begin Caption:= Caption +' (нужно ' + IntToStr(NeedMB) + 'Мб)' ; Color:= RedColor; Passed:= 0; end else Color:= SystemNamePanel.Color;
    Parent:= InfoForm; Alignment:=taLeftJustify;
end;
 
with TNewStaticText.Create(InfoForm) do begin Top:=Hdd.Top+30; Left:=System.Left + 8; AutoSize:=True; Parent:= InfoForm;
    if Passed = 1 then Caption:= #13 + 'Всё оборудование соответствуют требованиям программы.'
        else Caption:='Не все компоненты соответствуют требованиям программы,' #13#9 'проверьте позиции, выделеные красным цветом.'; end;
    Show;
end;
End;
 
Function NextButtonClick(CurPageID: Integer): Boolean;
    Begin Result:= True;
    If (InfoButton.Tag = 1) then begin InfoForm.Close; InfoButton.Tag:= 0; InfoButton.Caption:= 'О системе'; end;
End;
 
Procedure InfoButtonOnClick(Sender: TObject);
 Begin
    if (InfoButton.Tag = 0) then begin
    if (FormFlag = 0) then FormFlag:= 1; if (FormFlag = 2) then FormFlag:= 3;
 
InfoForm:=TForm.create(nil);
 
UpdateButton:= TButton.Create(InfoForm);
 with UpdateButton do begin Width:= CancelButton.Width; Height:= CancelButton.Height;
    Top:= WizardForm.WizardBitmapImage.Height - (CancelButton.Top - WizardForm.Bevel.Top) - (WizardForm.Height - WizardForm.ClientHeight + WizardForm.Top + FormTop - WizardForm.Top);
    Left:= WizardForm.ClientWidth - (WizardForm.ClientWidth - CancelButton.Left);
    Caption:= 'Обновить'; OnClick:= @UpdateButtonOnClick; Parent:= InfoForm; end;
 
    UpdateButton.OnClick(UpdateButton);
    InfoButton.Caption:= 'Скрыть сведения'; InfoButton.Tag:= 1;
 end else begin
    InfoForm.Close; InfoButton.Caption:= 'О системе'; InfoButton.Tag:= 0; end;
End;
 
Procedure CurPageChanged(CurPageID: Integer);
 Begin
    If (CurPageID = wpWelcome) or (CurPageID = wpFinished) then FormTop:=-3
    else FormTop:=WizardForm.WizardSmallBitmapImage.Height;
End;
 
Procedure InitializeWizard();
 Begin
    CancelButton:= WizardForm.CancelButton;
    InfoButton:= TButton.Create(WizardForm);
 with InfoButton do begin
 Width:= CancelButton.Width + ScaleX(25); Left:= WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width; Top:= CancelButton.Top; Height:= CancelButton.Height;
 Caption:= 'О системе'; OnClick:= @InfoButtonOnClick; Cursor:= crHelp; Parent:= WizardForm; Tag:= 0; end;
End;

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 10:35 22-04-2007
Drez

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

Всего записей: 12 | Зарегистр. 09-11-2006 | Отправлено: 11:15 22-04-2007
GloThin



Тобольский шашлычник
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
NightW0lf

Цитата:
GloThin  
Респект!  

Кушай с булочкой!
Тут доработал скрипт по разрешению установки еще и в windows 2000 SP4 и сделал совмещенную страницу Определения версии ОС и компонентов аппаратуры...
Если интересно - можно посмотреть
Здесь


----------
Все принципиальное-просто,а все простое-принципиально!
На каждого мудреца достаточно простоты!
Не изменишь существующее,не изменив себя!!

Всего записей: 699 | Зарегистр. 28-04-2004 | Отправлено: 16:51 22-04-2007 | Исправлено: GloThin, 16:54 22-04-2007
GloThin



Тобольский шашлычник
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
NightW0lf
проблема с библиотекой лежит в другой плоскости: просто похоже библиотека не работает в винде марки 98


----------
Все принципиальное-просто,а все простое-принципиально!
На каждого мудреца достаточно простоты!
Не изменишь существующее,не изменив себя!!

Всего записей: 699 | Зарегистр. 28-04-2004 | Отправлено: 23:06 22-04-2007
Sero



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть вопрос:
как создать контрольную точку восстановление системы перед установки?

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 00:46 23-04-2007
GloThin



Тобольский шашлычник
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
NightW0lf
Вот подрихтовал предыдущий скрипт по поводу появления белой каемки у выделенных цветом мемок:
Можно найти тута

----------
Все принципиальное-просто,а все простое-принципиально!
На каждого мудреца достаточно простоты!
Не изменишь существующее,не изменив себя!!

Всего записей: 699 | Зарегистр. 28-04-2004 | Отправлено: 07:02 23-04-2007
Widok



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

----------
Тень превращается в фантазии, таящиеся в глубине вашей души.
Пока идёшь ты среди теней, да не будет зла с тобой.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 18:02 23-04-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru