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

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

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

Аватара для El Sanchez

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

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


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Отправлено: 19:06, 28-03-2013

 

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


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

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


Имеется ключ 1234-5678-ABCD-EFGH который просто записывается в файл keysgame.ini без каких либо секции и дополнительныч строк, просто ключ и всё. Сам keysgame.ini должен создаться при вставке ключа в папке Мои документы/GameEX.

Как это реализовать?

Есть только набросок кода
читать дальше »
Код: Выделить весь код
[*code]
var
  CustomPage: TWizardPage;
  Edit1: TNewEdit;
  Edit2: TNewEdit;
  Edit3: TNewEdit;
  Edit4: TNewEdit;

procedure InitializeWizard();
begin
  CustomPage := CreateCustomPage(wpSelectTasks, 'Заголовок', 'Описание');

  Edit1 := TNewEdit.Create(WizardForm);
  with Edit1 do
  begin
    Parent := CustomPage.Surface;
    Left := ScaleX(96);
    Top := ScaleY(98);
    Width := ScaleX(50);
    Height := ScaleY(21);
  end;

  Edit2 := TNewEdit.Create(WizardForm);
  with Edit2 do
  begin
    Parent := CustomPage.Surface;
    Left := ScaleX(152);
    Top := ScaleY(98);
    Width := ScaleX(50);
    Height := ScaleY(21);
  end;

  Edit3 := TNewEdit.Create(WizardForm);
  with Edit3 do
  begin
    Parent := CustomPage.Surface;
    Left := ScaleX(208);
    Top := ScaleY(98);
    Width := ScaleX(50);
    Height := ScaleY(21);
  end;

  Edit4 := TNewEdit.Create(WizardForm);
  with Edit4 do
  begin
    Parent := CustomPage.Surface;
    Left := ScaleX(264);
    Top := ScaleY(98);
    Width := ScaleX(50);
    Height := ScaleY(21);
  end;

  Edit1.TabOrder := 0;
  Edit2.TabOrder := 1;
  Edit3.TabOrder := 2;
  Edit4.TabOrder := 3;
end;

-------
Login: Crazy Noise; Copyright ©2013, Crazy Noise.


Отправлено: 01:18, 21-05-2013 | #481



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

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


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


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

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


Всем привет! Уважаемые знатоки, помогите разобраться со следующей задачей:
Допустим имеется простенький инсталлятор, к которому я прикрутил библиотек isskin.dll способом описанном на том же сайте.
Проблема в том, что если я устанавливаю следующие значения

Код: Выделить весь код
DiskSpanning=Yes
SlicesPerDisk=1
DiskSliceSize=1566000000
и компилирую приложение, создается отдельный файл Setup-1.bin, как и должно быть.. так вот если данный файл удалить, при запуске Инсталлятора программа сразу выдает форму в которой просит вставить диск №1.. Если нажать отмену и выйти из процесса установки сразу же выскочит сообщение о том, что isskin.dll не найден. Как обработать это событие? Ведь распаковка isskin.dll происходит на этапе InitializeSetup, а диолог о вставке диска вылезает раньше ее? Как предотвратить данную ошибку в случае если Setup-1.bin не будет найден?

Отправлено: 03:51, 21-05-2013 | #482


Аватара для alert30

Ветеран


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

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


Alloc, попробуйте скачать другую isskin.dll и сделать те же действия.

Отправлено: 04:38, 21-05-2013 | #483


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Alloc, просто isskin.dll у тебя внутри Setup-1.bin и при удалении оного, естественно он будет не найден.
вот так такое дело обрабатывается:
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[*code]
var
  sKLoaded : Boolean;

function InitializeSetup(): Boolean;
begin
  sKLoaded := False;
  // грузим скин
  sKLoaded := True;
  Result := True;
end;

procedure DeinitializeSetup();
begin
  if sKLoaded then
  begin
    // выгружаем скин
  end;
end;

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Последний раз редактировалось Gnom_aka_Lexander, 21-05-2013 в 06:42.


Отправлено: 06:37, 21-05-2013 | #484


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


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

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


Ребята всем привет, возник вопрос по сжатию, мне понравилось сжатие игры Call of Duty MW3... там просто офигенное сжатие, при вскрытии инсталера, я обнаружил файлы связаные с zip (procomp.exe) их там несколько и имели разрешение .exe. В интернете я узнал что самое лучшее сжатие это NanoZip но примеров я не нашёл, если у кого есть примерчик, то выложите пожалуйста...

Отправлено: 11:02, 21-05-2013 | #485


Аватара для Gnom_aka_Lexander

Ветеран


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

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


by_gangster, темой ошибся. Но все-же, вот список параметров для нанозипа: Смотреть Воспользоваться функцией exec в инно я думаю сможешь самостоятельно.
и да, не перестарайся, как механики, у которых последнее время для установки игры комп нужен в разы мощнее, чем для самой игры.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

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

Отправлено: 11:17, 21-05-2013 | #486


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


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

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


Gnom_aka_Lexander, а что ещё хорошо сжимает ?

А на сайте nanozip.net чем отличаются архивы для скачивания 32bit и 64bit ?

Отправлено: 12:12, 21-05-2013 | #487


Аватара для Gnom_aka_Lexander

Ветеран


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

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


by_gangster, по приведенной ссылке - различные параметры для различных типов файлов. логично, что если разложить все ресурсы по полочкам, то при терпеливом подборе параметров очень хорошо сжимает даже винрар. можешь воспользоваться paq, если тебе наплевать на пользователей - сжатие весьма великолепно, но вот распаковка без преувеличение может растянуться на несколько суток(вспомним "знаменитый" репак GTA4). КГБ - аналогично. Если нужно хорошо и быстро - то фриарк с вменяемыми словарями ( словарь - примерно равен свободной нефрагментированной оперативке, которая потребуется для распаковки) с тщательным подбором параметров и препроцессоров (каковых во фриарке - десятки) для каждого типа данных.
Цитата by_gangster:
А на сайте nanozip.net чем отличаются архивы для скачивания 32bit и 64bit ? »
Только разрядностью системы в которую можно устанавливать. 32bit можно в любую, 64bit - только в х64. теоретически 64bit может дать лучшее сжатие. Для распаковки не имеет значения разраядность упаковщика, как и в любом пакере или прекомпрессоре.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Отправлено: 12:22, 21-05-2013 | #488


Ветеран


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

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


Цитата Crazy Noise:
Как это реализовать? »
Как-то вот так
Код: Выделить весь код
[Code]
var
  SerialPage: TWizardPage;
  Block_1, Block_2, Block_3, Block_4: TNewEdit;
  sNumber: String;

procedure InitializeWizard();
begin
 SerialPage := CreateCustomPage(wpSelectTasks, 'Serial number', 'Please insert serial number');

  Block_1 := TNewEdit.Create(nil);
  with Block_1 do
  begin
    Parent := SerialPage.Surface;
    SetBounds(ScaleX(96), ScaleY(98), ScaleX(50), ScaleY(21));
    Text := '';
    MaxLength := 4;
  end;

  Block_2 := TNewEdit.Create(nil);
  with Block_2 do
  begin
    Parent := SerialPage.Surface;
    SetBounds(ScaleX(152), ScaleY(98), ScaleX(50), ScaleY(21));
    Text := '';
    MaxLength := 4;
  end;

  Block_3 := TNewEdit.Create(nil);
  with Block_3 do
  begin
    Parent := SerialPage.Surface;
    SetBounds(ScaleX(208), ScaleY(98), ScaleX(50), ScaleY(21));
    Text := '';
    MaxLength := 4;
  end;

  Block_4 := TNewEdit.Create(nil);
  with Block_4 do
  begin
    Parent := SerialPage.Surface;
    SetBounds(ScaleX(265), ScaleY(98), ScaleX(50), ScaleY(21));
    Text := '';
    MaxLength := 4;
  end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  sNumber := ExpandConstant(Block_1.Text + '-' + Block_2.Text + '-' + Block_3.Text + '-' + Block_4.Text);
  case CurStep of
    ssPostInstall: SaveStringToFile(ExpandConstant('{userdocs}\GameEX\keysgame.ini'), sNumber, True);
  end;
end;


//или вместо шага CurStepChanged записывать серийник в файл при нажатии "Далее" на этой странице.
//function NextButtonClick(CurPageID:integer): Boolean;
//begin
//  sNumber := ExpandConstant(Block_1.Text + '-' + Block_2.Text + '-' + Block_3.Text + '-' + Block_4.Text);
//  case CurPageID of
//    SerialPage.ID: SaveStringToFile(ExpandConstant('{userdocs}\GameEX\keysgame.ini'), sNumber, True);
//  end;
//  Result := True;
//end;

Проверять сейчас неначем, рабочий комп пока на реставрации.

Последний раз редактировалось saurn, 21-05-2013 в 14:30.

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

Отправлено: 12:25, 21-05-2013 | #489


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


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

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


Gnom_aka_Lexander, спасибо за ответ, я попробовал как Вы сказали? но по прежнему ошибка имеет место быть.

Цитата:
Internal error: ExtractTemporaryFile: The file "isskin.dll" was not found.

Отправлено: 12:41, 21-05-2013 | #490



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59




 
Переход