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

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

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

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

Ветеран


Contributor


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


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

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


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


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


Продолжение обсуждения
Скрипты Inno Setup. Помощь и советы [часть 5]

Отправлено: 18:01, 29-08-2011

 

Аватара для nikitich95

Новый участник


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

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


Изображения
Тип файла: jpg Screen 1.jpg
(154.0 Kb, 33 просмотров)

Спасибо)) Рабочий, но правда возникла небольшая проблема:
Нужно убрать разделители и опустить кнопки.
Вот скрин:
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:28, 23-04-2012 | #1631



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

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


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

Ветеран


Contributor


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

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


Цитата Johny777:
во время выката панель плавно появляется, но не обновляется (т.е. мемо пролога появляется в самом конце после анимации), что не есть красиво! »
Лады, переделаю.

Цитата Johny777:
под innocallback »
Johny777, зачем тебе вообще эта библиотека в Restools, когда там вместо нее можно использовать ф-ию CallbackAddr?

Цитата Johny777:
Хочу переделать запрет на кириллицу в пути »
Чтоб ты ничего не выдумывал, то вот функция:
IsStringCyrillic.iss

Код: Выделить весь код
function IsStringCyrillic(Str: String): Boolean;
var
    objRegExp: Variant;
begin
    try
        objRegExp := CreateOleObject('VBScript.RegExp');
    except
        ShowExceptionMessage;
    end;

    if objRegExp.Test(Str) then
    begin
        objRegExp.Pattern := '[\u0400-\u04FF,\u0500-\u052F,\u2DE0-\u2DFF,\uA640-\uA69F]';
        Result := objRegExp.Execute(Str).Count = 1;
    end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:22, 23-04-2012 | #1632


Аватара для Johny777

Ветеран


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

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


Цитата El Sanchez:
Лады, переделаю. »
Спасибо! Скрипт нужен для удобства?
Цитата El Sanchez:
ты ничего не выдумывал »
да есть уже в приготовом виде
http://forum.ru-board.com/topic.cgi?...&limit=1&m=2#1

но спасибо за IsStringCyrillic.iss

Отправлено: 18:35, 23-04-2012 | #1633


Аватара для Ivan_009

Ветеран


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

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


Возможно ли сделать в Inno Fairy Пропорциональное растягивание изображения до размеров окна.Тоесть, чтобы неуказывать размер вручную...

Последний раз редактировалось Ivan_009, 28-04-2012 в 09:06.


Отправлено: 19:11, 23-04-2012 | #1634


Аватара для Johny777

Ветеран


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

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


Ivan_009,
почему именно Inno Fairy?
есть ведь isgsg.dll#
________________
вот наполовину готово
текущее разрешение поставил ) (при каком разрешении монитора запускают то и будет)
только не используй тк скрипт почистить нужно
А как растянуть хз
читать дальше »
Код: Выделить весь код
//Пример работы с fairy.dll. Через c .jpg

#include "fairy.iss"

[Setup]
AppName=fairy
AppVerName=fairy Ver 2.0
DefaultDirName={pf}\fairy
DefaultGroupName=fairy
OutputDir=.
SolidCompression=yes

[Files]
Source: miku.jpg; Flags: dontcopy

[  code]
///////// начало
function DeleteDC(hDC: Integer): Integer;
external 'DeleteDC@GDI32 stdcall';

function CreateDC(lpDriverName, lpDeviceName, lpOutput: String; lpInitData: Integer): Integer;
external 'CreateDCA@GDI32 stdcall';

function GetDeviceCaps(hDC, nIndex: Integer): Integer;
external 'GetDeviceCaps@GDI32 stdcall';



Const
    HORZRES = 8;    //horizontal resolution
    VERTRES = 10;   //vertical resolution
    BITSPIXEL = 12; //bits per pixel
    PLANES = 14;    //number of planes (color depth=bits_per_pixel*number_of_planes)
////////// конец

function GetSysColor(nIndex: Integer): DWORD; external 'GetSysColor@user32.dll stdcall';
function GetWindowLong(hWnd, nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll';

var
  GifFrameCount: Integer;

function ColorToRGB(Color: TColor): Longint;
begin
  if Color < 0 then
    Result := GetSysColor(Color and $000000FF)
  else
    Result := Color;
end;

procedure InitializeWizard();
var
  Btn: TNewButton;
  ImgFile: AnsiString;
  S: AnsiString;
  x, y: Integer;
  BAlpha, TransparentColor: Integer;
  ///////// начало
  xres, yres, bpp, pl, tmp: Integer;
  hDC: Integer;
  ////////// конец
begin
///////// начало
    //get resolution & BPP
    hDC := CreateDC('DISPLAY', '', '', 0);
    pl := GetDeviceCaps(hDC, PLANES);
    bpp := GetDeviceCaps(hDC, BITSPIXEL);
    xres := GetDeviceCaps(hDC, HORZRES); //horizontal resolution
    yres := GetDeviceCaps(hDC, VERTRES); //vertical resolution

////////// конец
  InitFairy(GetWindowLong(MainForm.Handle, -8), 0, 20);
  ImgFile := 'miku.jpg';
  ExtractTemporaryFile(ImgFile);
  x := -xres div 2;  // Расположение изображения (горизонталь [X]). По умолчанию -1280.
  y := -yres div 2;   // Расположение изображения (Вертикаль [Y]). По умолчанию -960.
  BAlpha := 255;     // Прозрачность изображения. По умолчанию 255.
  TransparentColor := ColorToRGB(clNone);
  AddImgToList(x, y, BAlpha, TransparentColor, ExpandConstant('{tmp}\'+ImgFile))
  ShowFairyEx(0);
end;

procedure DeinitializeSetup();
begin
  HideFairy;
  WizardForm.Hide;
  UninitFairy;
end;

Последний раз редактировалось Johny777, 23-04-2012 в 20:16.

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

Отправлено: 20:06, 23-04-2012 | #1635


Аватара для nikitich95

Новый участник


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

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


Вложения
Тип файла: rar Скрипт.rar
(2.7 Kb, 13 просмотров)

Сори) забыл. Вот скрипт:
Если чего-то не хватает - скажите.

Отправлено: 20:55, 23-04-2012 | #1636


Аватара для valyok666

Старожил


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

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


Изображения
Тип файла: png 2012-04-23_225247.png
(27.7 Kb, 25 просмотров)

nikitich95, Ты OuterNotebook и InnerNotebook растяни в редакторе и меняй дальше куда хочешь

P.S Прикрепляй полный скрипт!Со всеми файлами!
Разделители можно убрать так-->
читать дальше »

procedure InitializeWizard();
begin
with WizardForm.Bevel do Hide;
with WizardForm.Bevel1 do Hide;
end;

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"


Последний раз редактировалось valyok666, 23-04-2012 в 23:04.

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

Отправлено: 22:13, 23-04-2012 | #1637


Аватара для detiedyatosla

Новый участник


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

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


valyok666 а можно подробней о OuterNotebook ?

Отправлено: 23:01, 23-04-2012 | #1638


Аватара для valyok666

Старожил


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

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


detiedyatosla, Cкриншот посмотри и поймёшь

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"

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

Отправлено: 23:14, 23-04-2012 | #1639


Аватара для Johny777

Ветеран


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

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


detiedyatosla,



и чтобы окно было аккурат по центру экрана напиши в процедуру InitializeWizard строку *(выделил жирным)
procedure InitializeWizard;
begin
WizardForm.Position:= poScreenCenter;
end;

_________________________________________________________________________

Вопрос
для того чтобы заблокировать закрытие окна через alt + F4 нужно использовать ?

Код: Выделить весь код
const
    WS_EX_NOACTIVATE = $8000000;
    GWL_EXSTYLE = (-20);

function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; external 'SetWindowLongA@user32.dll stdcall';
function GetWindowLong(Wnd: HWnd; Index: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall';

procedure InitializeWizard();
begin
  SetWindowLong(WizardForm.Handle,GWL_EXSTYLE,GetWindowLong(WizardForm.Handle,GWL_EXSTYLE) or WS_EX_NOACTIVATE);
end;
(нужно запретить закрытие одной из форм. Slim_Form.BorderIcons := []; а вот чудесно работающую комбинацию alt + F4 никто не отменял )

Последний раз редактировалось Johny777, 24-04-2012 в 04:31.

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

Отправлено: 23:43, 23-04-2012 | #1640



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход