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

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



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

Цитата:
RegShot  
Скачать  
(55Kb)

Ссылка битая, файл не скачивается.

Всего записей: 115 | Зарегистр. 03-08-2003 | Отправлено: 22:17 04-04-2007
NightW0lf



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

Цитата:
Ссылка битая, файл не скачивается.

Можешь качать из шапки там рабочая линка.

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 22:50 04-04-2007
Angel_Smerti



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

Цитата:
[Setup]  
AppName=My Program  
AppVerName=My Program version 1.5  
DefaultDirName={pf}\My Program  
 
[Files]  
Source: Files\*; DestDir: {app}  
 
[Сode]  
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;  
   
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  
  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(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;  

Со скриптом:  

Цитата:
[Setup]  
WizardImageFile=compiler:winxp.bmp  
WizardSmallImageFile=compiler:winxp.bmp  
 
[Code]  
procedure InitializeWizard();  
var  
Page: TWizardPage;  
begin  
WizardForm.BackButton.BringToFront;  
WizardForm.NextButton.BringToFront;  
WizardForm.CancelButton.BringToFront;  
WizardForm.InnerNotebook.BringToFront;  
end;  
 
Оба скрипта взяты с этого сайта и так как я в программировании просто профан, то сам с этим не справлюсь. Простое слияние выдает ошибку, потому что во всех скриптах есть строка с переменной: procedure InitializeWizard();.

Всего записей: 115 | Зарегистр. 03-08-2003 | Отправлено: 23:01 04-04-2007
NightW0lf



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

Цитата:
 

Код:
 
[Setup]  
WizardImageFile=compiler:winxp.bmp  
WizardSmallImageFile=compiler:winxp.bmp  
 
[Code]  
procedure InitializeWizard();  
var  
Page: TWizardPage;  
begin  
WizardForm.BackButton.BringToFront;  
WizardForm.NextButton.BringToFront;  
WizardForm.CancelButton.BringToFront;  
WizardForm.InnerNotebook.BringToFront;  
end;
 

 

А ты случайно остальную часть кода не забыл?  
Так как ты по идеи [я считаю] хочешь, чтобы было похоже на это, а с твоим кодом получается вот это.
Я прав?
 
Если нет то вот:

Цитата:
Помоги соединить твой скрипт:

Вот собранный код
 

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Angel_Smerti
В руководстве 5-ой версии есть примеры скинов используй их а не этот первый эксперементальный.

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri, большое спасибо
 
Добавлено:
и вопрос на засыпку...  
есть строка:

Код:
  NeedSize = 2000; //прописать количество метров

Но стандартно в окошке прописывается: необходимо на диске ХХХ мегабайт. Как я понимаю, эти ХХХ хранятся в какой-то переменой IS. Кто-нибудь знает в какой? Тогда как я понимаю можно будет просто написать:

Код:
  NeedSize = ХХХ

Всего записей: 4 | Зарегистр. 03-04-2007 | Отправлено: 00:24 05-04-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kxox -- К сожалению, способа получить доступ к этой переменной я не знаю. Разве что вытянуть число из отображаемой строки. Но на мой взгляд, задача не стоит требуемых усилий. В любом случае, общий размер ты знаешь на этапе компиляции и проще прописать константу.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 02:34 05-04-2007
Sampron

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

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



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да код сиз Сталкера с определением устройств было бы неплохо заполучить!!!

Всего записей: 25 | Зарегистр. 16-03-2007 | Отправлено: 12:30 05-04-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По поводу определения устройств - времени сейчас особо нет (да и праздники еще), но если кому интересно, можно покопать в сторону WinAPI EnumDisplayDevices и данных в реестре по пути: HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
ключи:
ProcessorNameString
~MHz
 
Добавлено:
Sampron
Цитата:
Загляни в личку.
-- я оттуда не вылезаю От тебя последнее 01:09 31-03-2007 - решение выше. NSIS не использую.
 

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 13:10 05-04-2007
ANDROID



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
PSKOVMAIL
Они в инсталяторе СТАЛКЕРа используют свой собственный плагин: get_hw_caps.dll (Installer plugin, HW caps detection)

----------
О нас помнят, пока мы мешаем другим...

Всего записей: 1853 | Зарегистр. 02-11-2003 | Отправлено: 13:42 05-04-2007 | Исправлено: ANDROID, 13:43 05-04-2007
NightW0lf



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

Цитата:
Они в инсталяторе СТАЛКЕРа используют свой собственный плагин: get_hw_caps.dll (Installer plugin, HW caps detection)

Если кому нужен этот плагин забираем.

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 14:29 05-04-2007
koc



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

Всего записей: 270 | Зарегистр. 04-03-2005 | Отправлено: 16:13 05-04-2007
flyweb



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

Цитата:
Если кому нужен этот плагин забираем.

 
А как его использовать не подскажите!!!

Всего записей: 8 | Зарегистр. 26-10-2006 | Отправлено: 16:36 05-04-2007
NightW0lf



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

Цитата:
А как его использовать не подскажите!!!

Сам я незнаю, НО я затем и выложил этот плагин чтобы кто-нибудь помог с ним разобраться.

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



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

Цитата:
Вот собранный код  

Код я получил, но и проблему очередную тоже вот что получается, когда используешь сборку, а должно быть так. Как исправить текст с бесцветного на черный?

Всего записей: 115 | Зарегистр. 03-08-2003 | Отправлено: 18:38 05-04-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Angel_Smerti
 
Между строками:  
ListBox.OnClick:=@ListBoxOnClick
и
drives:= GetLogicalDrives();
 
вставь либо эту строку:
ListBox.Font.Color:=clBlack
либо эту
ListBox.Color:=11494715
 
на твой вкус.
 

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

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

Подробно разбираться нет времени, но примерно так:

Код:
 
[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
 
[Files]
Source: Files\get_hw_caps.dll; Flags: dontcopy
 
[Code]
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 InitializeSetup(): Boolean;
var
  res: string;
begin
  res:= 'GetVideoCardName - ' + GetVideoCardName + #10#13;
  res:= res + 'GetSoundCardName - ' + GetSoundCardName + #10#13;
  res:= res + 'DetectHardware - ' + IntToStr(DetectHardware()) + #10#13;
  res:= res + 'GetHardDriveName - ' + GetHardDriveName(0) + #10#13;
  res:= res + 'GetHardDriveFreeSpace - ' + IntToStr(GetHardDriveFreeSpace(0)) + #10#13;
  res:= res + 'GetHardDriveTotalSpace - ' + IntToStr(GetHardDriveTotalSpace(0)) + #10#13;
  res:= res + 'GetHardDrivesCount - ' + IntToStr(GetHardDrivesCount()) + #10#13;
  res:= res + 'GetSoundCards - ' + IntToStr(GetSoundCards()) + #10#13;
  res:= res + 'GetSystemPage - ' + IntToStr(GetSystemPage()) + #10#13;
  res:= res + 'GetSystemPhys - ' + IntToStr(GetSystemPhys()) + #10#13;
  res:= res + 'GetVidMemLocal - ' + IntToStr(GetVidMemLocal()) + #10#13;
  res:= res + 'GetVidMemNonLocal - ' + IntToStr(GetVidMemNonLocal()) + #10#13;
  res:= res + 'GetVideoCardDev - ' + IntToStr(GetVideoCardDev()) + #10#13;
  res:= res + 'GetVideoCardVen - ' + IntToStr(GetVideoCardVen()) + #10#13;
 
  MsgBox(res, mbInformation, MB_OK);
  Result:= True;
end;
 

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 19:23 05-04-2007
NightW0lf



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

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 19:37 05-04-2007
Angel_Smerti



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

Цитата:
А ты случайно остальную часть кода не забыл?  
Так как ты по идеи [я считаю] хочешь, чтобы было похоже на это, а с твоим кодом получается вот это.  
Я прав?  

Извини, что отвечаю на твой первый вопрос в последнюю очередь, но надо было посмотреть по сайту, где находятся скрипт WinXP, его первый выложил и улучшил Sampron. К скрипту еще нужен измененный файл Setup.e32 из дистрибутива Inno Setup. Скрипт собран, верно, но текст на странице с выбором дисков должен быть черный как я уже упоминал, как этого добится я все равно не доперю, и надеюсь на помощь.
 
Добавлено:
Прошу прощения со своей последней цитатой я немножко запоздал, ВСЕМ БОЛЬШОЕ СПАСИБО!

Всего записей: 115 | Зарегистр. 03-08-2003 | Отправлено: 19:45 05-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