Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 3]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 3]

Ветеран


Сообщения: 1133
Благодарности: 581


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 900 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 798 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - ещё один редактор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 00:28, 04-11-2010

 

Аватара для nik1967

Старожил


Сообщения: 440
Благодарности: 251

Профиль | Сайт | Отправить PM | Цитировать


LinkOFF, может быть места? Если да, то как то так:
Скока надо места
Код: Выделить весь код
#define NeedSize                        "400427"
#define TotalNeedSize                   "500427"

[Setup]
AppName=NeedSize
AppVerName=TotalNeedSize
DefaultDirName={pf}\NeedSize
DefaultGroupName=NeedSize

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[_Code]
//******************************************* [ начало Место для установки ] ***************************************************//

Function NumToStr(Float: Extended): String;
Begin
  Result:= Format('%.2n', [Float]); StringChange(Result, ',', '.');
while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = '.')) and (Pos('.', Result) > 0) do
  SetLength(Result, Length(Result)-1);
End;

var
FreeMB, TotalMB: Cardinal;
NeedSize, TotalNeedSize:Integer; TotalNeedSpaceLabel,NeedSpaceLabel,FreeSpaceLabel: TLabel;

Function MbOrTb(Byte: Extended): String;
begin
if Byte < 1024 then Result:= NumToStr(Byte) + ' Мб' else
  if Byte/1024 < 1024 then Result:= NumToStr(round(Byte/1024*100)/100) + ' Гб' else
     Result:= NumToStr(round((Byte/(1024*1024))*100)/100) + ' Тб';
end;

procedure GetFreeSpaceCaption(Sender: TObject);
var
Path: String;
begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
NeedSpaceLabel.Caption := 'Игра займет на диске: '+ MbOrTb(NeedSize);
TotalNeedSpaceLabel.Caption := 'Для распаковки требуется: '+ MbOrTb(TotalNeedSize);
FreeSpaceLabel.Caption := 'Доступно места на диске: '+ MbOrTb(FreeMB);
WizardForm.NextButton.Enabled:= (FreeMB>TotalNeedSize);
WizardForm.NextButton.Enabled:= (FreeMB>NeedSize);
if (FreeMB<TotalNeedSize) then
   FreeSpaceLabel.Font.Color:=clRed else
   FreeSpaceLabel.Font.Color:=WizardForm.Font.Color;
if (FreeMB<NeedSize) then
   FreeSpaceLabel.Font.Color:=clRed else
   FreeSpaceLabel.Font.Color:=WizardForm.Font.Color;
end;

procedure InitializeWizard();
begin
NeedSize := {#NeedSize};
TotalNeedSize := {#TotalNeedSize};

WizardForm.DiskSpaceLabel.Hide;

TotalNeedSpaceLabel := TLabel.Create(WizardForm);
TotalNeedSpaceLabel.Parent := WizardForm.SelectDirPage;
TotalNeedSpaceLabel.SetBounds(ScaleX(5), ScaleY(200), ScaleX(209), ScaleY(13));

FreeSpaceLabel := TLabel.Create(WizardForm);
FreeSpaceLabel.Parent := WizardForm.SelectDirPage;
FreeSpaceLabel.SetBounds(ScaleX(5), ScaleY(180), ScaleX(209), ScaleY(13));

NeedSpaceLabel := TLabel.Create(WizardForm);
NeedSpaceLabel.Parent := WizardForm.SelectDirPage;
NeedSpaceLabel.SetBounds(ScaleX(5), ScaleY(220), ScaleX(209), ScaleY(13));

WizardForm.DirEdit.OnChange := @GetFreeSpaceCaption;
end;

//******************************************* [ конец Место для установки ] ***************************************************//

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpSelectDir then GetFreeSpaceCaption(nil);
end;

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:11, 01-08-2011 | #2561



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 510
Благодарности: 51

Профиль | Отправить PM | Цитировать


Как сделать чтобы когда запускаешь игру то игра запускалась сразу с высоким приоритетом?Код какой то или что?
P.S.Видел такое в репаке assassin's creed brotherhood от механиков

Отправлено: 23:32, 01-08-2011 | #2562


Пользователь


Сообщения: 62
Благодарности: 19

Профиль | Отправить PM | Цитировать


insombia, недавно кто-то выкладывал скрипт SetPriorityClass.iss
читать дальше »
Код: Выделить весь код
#define GameName "name"

[setup]
AppName={#GameName}
AppVersion=1.0
DefaultDirName={pf}\{#GameName}

[_code]

const
  NORMAL_PRIORITY_CLASS           = $00000020;
  IDLE_PRIORITY_CLASS             = $00000040;
  HIGH_PRIORITY_CLASS             = $00000080;
  REALTIME_PRIORITY_CLASS         = $00000100;

function SetPriorityClass(hProcess: THandle; dwPriorityClass: DWORD): BOOL;
  external 'SetPriorityClass@kernel32';

function GetCurrentProcess: THandle;
  external 'GetCurrentProcess@kernel32';

procedure InitializeWizard();
begin
  SetPriorityClass(GetCurrentProcess, IDLE_PRIORITY_CLASS);     //установка приоритета для инсталлятора.
end;

или вот скачать с rghost

Отправлено: 23:49, 01-08-2011 | #2563


Аватара для Rikill

Старожил


Сообщения: 189
Благодарности: 90

Профиль | Отправить PM | Цитировать


insombia, а не мог бы ты объяснить какая разница от этих приоритетов?

-------
"Око за око приведёт к слепоте мира"- Ганди


Отправлено: 01:01, 02-08-2011 | #2564


Ветеран


Сообщения: 510
Благодарности: 51

Профиль | Отправить PM | Цитировать


Rikill если запустить игру с высоким приоритетом она лучше идет меньше виснет

Отправлено: 10:47, 02-08-2011 | #2565


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


Цитата insombia:
если запустить игру с высоким приоритетом она лучше идет меньше виснет »
спорное утверждение, наоборот если игруха будет иметь слишком высокий приоритет то системным и прочим процессам будет меньше ресурсов, а ведь мы не в ДОСе живем, игрухи зависят от системных процессов, ресурсы которых игруха с повышенным приоритетом и отожрет

винды давно уже различают запуск полноэкранного приложения и переключают на него что можно дать "здесь и сейчас"
единственно что может пригодится - Set CPU Affinity для старых прог, не держащих многоядренность, тогда эта утилитка пригвоздит процесс к заданному ядру, да и то толку от нее только в ХР, виста и семерка это уже умеют делать сами.

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Отправлено: 11:02, 02-08-2011 | #2566


Аватара для Raf-9600

Старожил


Сообщения: 398
Благодарности: 21

Профиль | Отправить PM | Цитировать


Ктонить подскажет, как сделать чтоб определённый файл устанавливался только в случае если пользователь выбрал два компонента?

Т.е. если к примеру так указать:
Код: Выделить весь код
Source: d2speech.mpq; DestDir: {app}; Components: Voice\English Text\Russian
То файл установиться если выбран хотябы какой-то один из перечисленных компонентов, а мне нужно чтоб он устанавливался только если выбраны оба.

Отправлено: 12:44, 02-08-2011 | #2567


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


Raf-9600, Components: Voice\English and Text\Russian

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:04, 02-08-2011 | #2568


Ветеран


Сообщения: 510
Благодарности: 51

Профиль | Отправить PM | Цитировать


А как лучше всего сжимать игру через инно указывая просто папку с игрой или все файлы игры?Просто когда то распаковал установку лицензии alice madness returns то там все файлы игры были а не просто папка с игрой,игра сама занимала до 10 гб а инсталятор 6 с лишним

Отправлено: 13:55, 02-08-2011 | #2569



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 3]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход