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

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NightW0lf
Я незнаю какие записи в реестре предыдущих Windows.

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 12:36 15-04-2007
Sero



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

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 13:06 15-04-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sero
Совсем не то, мне нужно не на странице установки а на странице прогресса (подготовка к установке(Splash)) перед установкой.

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Chuvakstepan
Да,что-то не так:
Ты должен выбрать только один из них,или кнопку играть или кнопку удалить.
С двумя не получается! Лучше используй авторан
 
Добавлено:
Sampron
Исправлю!

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 13:21 15-04-2007 | Исправлено: Sero, 14:00 15-04-2007
NightW0lf



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

Цитата:
Я незнаю какие записи в реестре предыдущих Windows.

В Windows 2000:
Ветка таже самая - HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
ProductName - Microsoft Windows 2000
CSDVersion - Service Pack 4
CurrentVersion - 5.0
CurrentBuildNumber - 2195
RegisteredOwner - NightW0lf
 
В Windows 98:
Ветка - HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion
ProductName - Microsoft Windows 98
Сервис Пак - отсутствует
VersionNumber - 4.10.2222
ProductType - 115
RegisteredOwner - NightW0lf
 
В Windows 95, ME:
Думаю, что все теже ключи в той же ветке аналогично как и в Windows 98.

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 13:23 15-04-2007 | Исправлено: NightW0lf, 13:29 15-04-2007
Sero



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

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sero
С извлечением VideoSlideShow.exe в темп во время подготовки работает а вот кнопка Отмена на странице подготовки не работает. Интересует именно задействование кнопки Отмена на странице подготовки во время показа сплеш заставки.

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 14:11 15-04-2007
Sero



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

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 14:27 15-04-2007 | Исправлено: Sero, 14:36 15-04-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NightW0lf
А вот этого сам незнаю как сделать.  
 
Добавлено:
Есть библиотека для Splash заставки выдранная из NSIS.
Основные возможности:
1) показ рисунка по указанному времени
2) показ плавного появления и затухания рисунка по времени
3) есть функция "транспарент" но с ней нужно эксперементировать
4) при нажатии мышой на заставку сплеш закрывается
 
Кому надо забираем здесь:
http://data.cod.ru/821460426
 
Добавлено:
А также есть ещё одна библиотека через которую реализован таймер на странице лицензии где радиобаттоны скрыты а на кнопке Далее идёт отсчёт времени.
 
Кому надо забираем здесь:
http://data.cod.ru/821525962

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



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

Цитата:
Есть библиотека для Splash заставки выдранная из NSIS.

Спасибо за нее!
 
Я тут тоже покопался у себя и нашел одни инсталлятор [русификатор для GTA-SA он написан на NSIS] там тоже реализована splash.bmp, НО с прозрачным фоном через библиотеку.
 
Если кто хочет и может написать скрипт ее работы в Inno Setup тогда забираем:
 
Зеркало с RL-Team.RU - 126.34 кб
Зеркало с RapidShare.COM - 126.34 кб

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 19:25 15-04-2007 | Исправлено: NightW0lf, 19:33 15-04-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Раздуплил ка делать транспарент.
В коде есть такая строчка 0x04025C - это номер цвета который не показывается тобишь прозрачный. В своём рисунке нужно этим цветом залить те места которые должны быть прозрачным, этот цвет можно взять в splash.bmp или определить этот цвет в Paint-е такими строками:
 
Оттенок:    161
Контраст:   230
Яркость:    44
Красный:   4
Зелёный:   2
Синий:      92
 
или изучить все цвета NSIS

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 19:43 15-04-2007
nerobol

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь знает как сделать так чтобы можно было дублировать  
procedure InitializeWizard();
а то немогу объединить два скрипта в один там в каждом надо использовать процедуру

Всего записей: 17 | Зарегистр. 01-04-2007 | Отправлено: 20:21 15-04-2007 | Исправлено: nerobol, 20:23 15-04-2007
NightW0lf



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

Цитата:
Кто-нибудь знает как сделать так чтобы можно было дублировать  
procedure InitializeWizard();  
а то немогу объединить два скрипта в один там в каждом надо использовать процедуру

Зачем дублировать просто добавляй в одну procedure InitializeWizard(); весь свой код только уже без procedure InitializeWizard();.
 
Добавлено:
2 All
Подскажите как добавить надпись на этой странице [надпись помеченна].
 
Вот код

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 21:37 15-04-2007 | Исправлено: NightW0lf, 22:50 15-04-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NightW0lf
 
[code]
const
  NeedSize = 20;
  DRIVE_UNKNOWN = 0;
  DRIVE_NO_ROOT_DIR = 1;
  DRIVE_REMOVEABLE = 2;
  DRIVE_FIXED = 3;
  DRIVE_REMOTE = 4;
  DRIVE_CDROM = 5;
  DRIVE_RAMDISK = 6;
 
var
  ListBox: TListBox;
  Text: TNewStaticText;
   
function GetLogicalDrives: DWORD;
  external 'GetLogicalDrives@kernel32.dll stdcall';
 
function GetDriveType(nDrive: string): Longint;
  external 'GetDriveTypeA@kernel32.dll stdcall';
 
procedure ListBoxOnClick(Sender: TObject);
var
  NewLetter, OldString: string;
  i: Integer;
begin
  for i := 0 to ListBox.Items.Count - 1 do
  begin
    if ListBox.Selected[i] then
    begin
      NewLetter := Copy(ListBox.Items[i], 0, 1);
      OldString := Copy(WizardForm.DirEdit.Text, 2, Length(WizardForm.DirEdit.Text));
      WizardForm.DirEdit.Text := NewLetter + OldString;
    end;
  end;
end;
 
procedure InitializeWizard();
var
  Path: string;
  FreeMB, TotalMB: Cardinal;
  drives: DWORD;
  i: integer;
 
begin
  Text := TNewStaticText.Create(WizardForm);
  Text.Top := 100;
  Text.Width := 332;
  Text.Height := 14;
  Text.Caption := 'Список жестких дисков и свободного места';
  Text.Parent := WizardForm.SelectDirPage;
 
  ListBox := TListBox.Create(WizardForm);
  ListBox.Top := 120;
  ListBox.Width := 332;
  ListBox.Height := ScaleY(90);
  ListBox.Parent := WizardForm.SelectDirPage;
  ListBox.OnClick := @ListBoxOnClick;
  ListBox.Font.Style := [fsBold];
  ListBox.Font.Name := 'Arial';
  ListBox.Color := clBtnFace;
 
  drives := GetLogicalDrives();
  for i := 0 to 31 do
  begin
    if (drives and (1 shl i)) > 0 then
    begin
      Path := chr(ord('A') + i) + ':';
      if GetDriveType(Path) = DRIVE_FIXED then
      begin
        GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
        ListBox.Items.Add(Path + ' - Всего: ' + IntToStr(TotalMB) +
          'Мб - Свободно: ' + IntToStr(FreeMB) + 'Мб');
      end;
    end;
  end;
end;
 
function NextButtonClick(CurPageID: Integer): Boolean;
var
  Path: string;
  FreeMB, TotalMB: Cardinal;
begin
  Result := True;
  if CurPageID = wpSelectDir then
  begin
    Path := ExtractFileDrive(WizardForm.DirEdit.Text);
    GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
    if FreeMB < NeedSize then
    begin
      MsgBox('Недостаточно места на диске!', mbInformation, MB_OK)
        Result := False;
    end;
  end;
end;

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 23:39 15-04-2007
Sero



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

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 02:03 16-04-2007 | Исправлено: Sero, 02:08 16-04-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sero
Получше вариант чем Logo.exe три месяца назад.

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 02:21 16-04-2007
Sero



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sampron
Ну,да!
 
Добавлено:
Так остается один вопрос (S.T.A.L.K.E.R.) - в листбокс с свободным местом,было бы здорово если будет и процент свободного места.

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 02:42 16-04-2007
Chanka

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят я уже спрашивал, но всё равно. Как сделать, чтобы эта конструкция удаления брала путь из реестра? Т.е. например "SOFTWARE\game"; ValueName: "SavePath"; ValueType: String; ValueData: "{userdocs}\My Games"; Flags: uninsdeletekey. Пожалуйста, очень надо.
 
 
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep=usUninstall then
begin
if DirExists(ExpandConstant('{app}\game\SAVE')) then
begin
if MsgBox('Удалить сохраненные игры?',mbconfirmation, mb_YesNo) = IDYES then
begin
 DelTree(ExpandConstant('{app}\game\SAVE'), True, True, True);
begin
 MsgBox('Сохранненые файлы - удалены!', mbinformation, mb_ok);
end;
end;
end;
end;
end;

Всего записей: 208 | Зарегистр. 24-08-2006 | Отправлено: 09:27 16-04-2007
GRom V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Люди!!! вот скрипт проверки системных требований.  У меня проц Core 2 Duo E6700 Как сделать чтоб информация о нем влезала полностью???
 
const
  NeedSize = 20; //Прописать, сколько мегабайт необходимо
 
  DRIVE_UNKNOWN = 0;
  DRIVE_NO_ROOT_DIR = 1;
  DRIVE_REMOVEABLE = 2;
  DRIVE_FIXED = 3;
  DRIVE_REMOTE = 4;
  DRIVE_CDROM = 5;
  DRIVE_RAMDISK = 6;
 
var
  ListBox: TListBox;
 
procedure ListBoxOnClick(Sender: TObject);
var
  NewLetter, OldString: String;
  i: Integer;
begin
  for i:= 0 to ListBox.Items.Count-1 do
    begin
      if ListBox.Selected[i] then
        begin
          NewLetter:= Copy(ListBox.Items[i], 0, 1);
          OldString:= Copy(WizardForm.DirEdit.Text, 2, Length(WizardForm.DirEdit.Text));
          WizardForm.DirEdit.Text:= NewLetter + OldString;
        end;
    end;
end;
 
function GetLogicalDrives: DWORD;
external 'GetLogicalDrives@kernel32.dll stdcall';
 
function GetDriveType(nDrive: String): Longint;
external 'GetDriveTypeA@kernel32.dll stdcall';
 
function GetVideoCardName(): PChar;
external 'hwc_GetVideoCardName@files:get_hw_caps.dll stdcall';
 
function GetSoundCardName(): PChar;
external 'hwc_GetSoundCardName@files:get_hw_caps.dll stdcall';
 
function DetectHardware(): Integer;
external 'hwc_DetectHardware@files:get_hw_caps.dll stdcall';
 
function GetHardDriveFreeSpace(hdd: integer): Integer;
external 'hwc_GetHardDriveFreeSpace@files:get_hw_caps.dll stdcall';
 
function GetHardDriveName(hdd: integer): PChar;
external 'hwc_GetHardDriveName@files:get_hw_caps.dll stdcall';
 
function GetHardDriveTotalSpace(hdd: integer): Integer;
external 'hwc_GetHardDriveTotalSpace@files:get_hw_caps.dll stdcall';
 
function GetHardDrivesCount(): Integer;
external 'hwc_GetHardDrivesCount@files:get_hw_caps.dll stdcall';
 
function GetSoundCards(): Integer;
external 'hwc_GetSoundCards@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 GetVidMemLocal(): Integer;
external 'hwc_GetVidMemLocal@files:get_hw_caps.dll stdcall';
 
function GetVidMemNonLocal(): Integer;
external 'hwc_GetVidMemNonLocal@files:get_hw_caps.dll stdcall';
 
function GetVideoCardDev(): Integer;
external 'hwc_GetVideoCardDev@files:get_hw_caps.dll stdcall';
 
function GetVideoCardVen(): Integer;
external 'hwc_GetVideoCardVen@files:get_hw_caps.dll stdcall';
 
function CheckSystemPage(PreviousPageId: Integer): Integer;
var Page: TWizardPage;
    ProcessorName:string;
    Processor,VideoCardPanel,AudioCardPanel,RAMPanel,PageFilePanel: TPanel;
    ProcessorNamePanel,VideoCardNamePanel,AudioCardNamePanel,RAMTotalPanel,PageFileTotalPanel: TPanel;
    ProcessorMHZ: Cardinal;
    StaticText,StaticText2:TNewStaticText;
    oneGhz,oneMB,Rest:Integer;
 
begin
RegQueryStringValue(HKLM, 'HARDWARE\DESCRIPTION\System\CentralProcessor\0','ProcessorNameString', ProcessorName);
RegQueryDWordValue(HKLM, 'HARDWARE\DESCRIPTION\System\CentralProcessor\0','~MHz', ProcessorMHZ);
GetVidMemLocal;
GetSoundCards;
oneGhz:=1000;
Rest:=ProcessorMHZ - oneGhz;
oneMB:=1024*1024;
 
Page := CreateCustomPage(PreviousPageId,'Апаратное Обоспечение','Программа установки обнаружила следуюшие необходимые компоненты');
 
StaticText:=TNewStaticText.Create(Page);
with StaticText do
begin
Parent:=Page.Surface;
Caption:='Все компоненты удовлетворяют требованиям игры.';
Left:=0;
Top:=5;
AutoSize:=True;
end;
 
StaticText2:=TNewStaticText.Create(Page);
with StaticText2 do
begin
Parent:=Page.Surface;
Caption:='Когда будуте готовы продолжить установку,нажмите <<Далее>>.'
Left:=0;
Top:=220;
AutoSize:=True;
end;
 
Processor := TPanel.Create(Page);
with Processor do
begin
Parent := Page.Surface;
Caption := 'Процессор';
Color := clGreen;
Font.Color := clWhite;
Left := ScaleX(0);
Top := ScaleY(32);
Width := ScaleX(87);
Height := ScaleY(25);
BevelInner := bvLowered;
TabOrder := 0;
//Alignment:=taLeftJustify; //надпись 'Процессор' будет писаться не по середине, а с начала.
end;
 
ProcessorNamePanel := TPanel.Create(Page);
with ProcessorNamePanel do
begin
Parent := Page.Surface;
Caption :=ProcessorName+'  '+IntToStr(ProcessorMHZ/oneGhz)+','+'@'+IntToStr(ProcessorMHZ)+'MHz';
Color := clGreen;
Font.Color := clWhite;
Left := ScaleX(92);
Top := ScaleY(32);
Width := ScaleX(320);
Height := ScaleY(25);
BevelInner := bvLowered;
TabOrder := 1;
//Alignment:=taLeftJustify;
end;
 
if ProcessorMHZ<1800then
begin
ProcessorNamePanel.Color:=clred;
Processor.Color:=clred;
StaticText.Caption:='Компоненты, выделенные красным не удовлетворяют требованиям игры.';
end;
 
VideoCardPanel:=TPanel.Create(Page);
with VideoCardPanel do
begin
Parent:=Page.Surface;
Caption:='Видеоадаптер';
Color := clGreen;
Font.Color := clWhite;
Left:=ScaleX(0);
Top:=Processor.Top+27;
Width:=ScaleX(87);
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
//Alignment:=taLeftJustify;
end;
 
VideoCardNamePanel:=TPanel.Create(Page);
with VideoCardNamePanel do
begin
Parent:=Page.Surface;
Caption:=GetVideoCardName+'  '+IntToStr(GetVidMemLocal/oneMB+6)+'MB';
Color := clGreen;
Font.Color := clWhite;
Left:=ScaleX(92);
Top:=VideoCardPanel.Top;
Width:=ScaleX(320);
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=1;
//Alignment:=taLeftJustify;
end;
 
if GetVidMemLocal<127000000 then //128MB
begin
StaticText.Caption:='Компоненты, выделенные красным не удовлетворяют требованиям игры.';
VideoCardNamePanel.Color:=clred;
VideoCardPanel.Color:=clred;
end;
 
AudioCardPanel:=TPanel.Create(Page);
with AudioCardPanel do
begin
Parent:=Page.Surface;
Caption:='Звуковая карта';
Color := clGreen;
Font.Color := clWhite;
Left:=ScaleX(0);
Top:=VideoCardPanel.Top+27;
Width:=ScaleX(87);
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
//Alignment:=taLeftJustify;
end;
 
AudioCardNamePanel:=TPanel.Create(Page);
with AudioCardNamePanel do
begin
Parent:=Page.Surface;
Caption:=GetSoundCardName;
Color:=clGreen;
Font.Color := clWhite;
Left:=ScaleX(92);
Top:=AudioCardPanel.Top;
Width:=ScaleX(320);
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=1;
//Alignment:=taLeftJustify;
end;
 
if
GetSoundCards=0 then
begin
StaticText.Caption:='Компоненты, выделенные красным не удовлетворяют требованиям игры.';
AudioCardPanel.Color:=clred;
AudioCardNamePanel.Color:=clred;
AudioCardNamePanel.Caption:='Не обнаружено';
end;
 
 
RAMPanel:=TPanel.Create(Page);
with RAMPanel do
begin
Parent:=Page.Surface;
Caption:='ОЗУ'
Color := clGreen;
Font.Color := clWhite;
Left:=0;
Top:=AudioCardPanel.Top+27;
Width:=ScaleX(87);
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
//Alignment:=taLeftJustify;
end;
 
RAMTotalPanel:=TPanel.Create(Page);
with RAMTotalPanel do
begin
Parent:=Page.Surface;
Caption:=IntToStr(GetSystemPhys+1) +'Mb'
Color := clGreen;
Font.Color := clWhite;
Left:=AudioCardNamePanel.Left;
Top:=RAMPanel.Top;
Width:=AudioCardNamePanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=1;
//Alignment:=taLeftJustify;
end;
 
if GetSystemPhys+1<1024 then
begin
RAMTotalPanel.Color:=clred;
RAMPanel.Color:=clred;
StaticText.Caption:='Компоненты, выделенные красным не удовлетворяют требованиям игры.';
end;
 
PageFilePanel:=TPanel.Create(Page);
with PageFilePanel do
begin
Parent:=Page.Surface;
Caption:='Файл подкачки';
Color := clGreen;
Font.Color := clWhite;
Left:=0;
Top:=RAMPanel.Top+27;
Width:=RAMPanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
//Alignment:=taLeftJustify;
end;
 
PageFileTotalPanel:=TPanel.Create(Page);
with PageFileTotalPanel do
begin
Parent:=Page.Surface;
Caption:=IntToStr(GetSystemPage)+' MB';
Color := clGreen;
Font.Color := clWhite;
Left:=RAMTotalPanel.Left;
Top:=PageFilePanel.Top;
Width:=RAMTotalPanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=1;
//////Alignment:=taLeftJustify;
end;
 
if GetSystemPage<1247 then
begin
PageFileTotalPanel.Color:=clred;
PageFilePanel.Color:=clred;
StaticText.Caption:='Компоненты, выделенные красным не удовлетворяют требованиям игры.';
end;
 
Result := Page.ID;
end;
 
procedure InitializeWizard();
var
  Path: String;
  FreeMB, TotalMB: Cardinal;
  drives: DWORD;
  i: integer;
begin
CheckSystemPage(wpWelcome);
ListBox:= TListBox.Create(WizardForm);
  ListBox.Top:= 120;
  ListBox.Width:= 300;
  ListBox.Height:= ScaleY(90);
  ListBox.Parent:= WizardForm.SelectDirPage;
  ListBox.OnClick:= @ListBoxOnClick;
 
  drives:= GetLogicalDrives();
  for i:= 0 to 31 do
     begin
        if (drives and (1 shl i)) > 0 then
            begin
              Path:= chr(ord('A')+i)+':';
              if GetDriveType(Path) = DRIVE_FIXED then
                begin
                  GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
                  ListBox.Items.Add(Path + ' Свободно: ' + IntToStr(FreeMB) + 'Мб');
                end;
end;
end;
end;

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 10:50 16-04-2007
NightW0lf



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

Цитата:
Люди!!! вот скрипт проверки системных требований.  У меня проц Core 2 Duo E6700 Как сделать чтоб информация о нем влезала полностью???

Вот тебе код
 
Добавлено:
Sero

Цитата:
Так остается один вопрос (S.T.A.L.K.E.R.) - в листбокс с свободным местом,было бы здорово если будет и процент свободного места.

Поддерживаю!

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 12:05 16-04-2007 | Исправлено: NightW0lf, 12:08 16-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.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru