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

Компьютерный форум 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

 

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


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

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


Цитата insombia:
зачем этот гемор? такое подойдет? »
Нет.

Отправлено: 22:46, 17-05-2013 | #471



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

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


Ветеран


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

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


neorom cкинь скрипт

Отправлено: 22:57, 17-05-2013 | #472


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


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

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


Это только часть скрипта отвичаючий за текст
читать дальше »
CaptionLabel1:= TLabel.Create(WizardForm);
CaptionLabel1.SetBounds(ScaleX(35), ScaleY(0), ScaleX(706), ScaleY(55));
CaptionLabel1.AutoSize:= False;
CaptionLabel1.WordWrap:= True;
CaptionLabel1.Transparent:= True;
CaptionLabel1.Font.Color:= $c5b89c
CaptionLabel1.Font.Size:= 12
CaptionLabel1.Font.Style:= [fsBold]
CaptionLabel1.Alignment:= taCenter;
CaptionLabel1.Parent:= WizardPanel;
CaptionLabel1.Font.Name:= 'Arial'

Отправлено: 23:01, 17-05-2013 | #473


Ветеран


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

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


Цитата neorom:
(Font.Size не придлагать.) »
Могу предложить Font.Height := -19;
Узнаете другой способ изменения размера шрифта, меня тоже просветите)
Хотя... можно штамповать кучу лейблов - отдельный под каждую букву, и делать с ними, что угодно, в том числе и увеличивать расстановку букв, но как сказал товарищ insombia, этот геморр не стоит свеч.
Цитата Dinvin4ester:
всякий хлам убрать если не сложно. »
читать дальше »
Можно всё. Что до меня, так весь скрипт один сплошной хлам, так как я использую только внутренние средства инно для сжатия и стандартный интерфейс без рюшечек, посему, если я выкину весь хлам на свое усмотрение, то там вообще ничего не останется, кроме стандарта. Точнее формулируйте, что выкинуть.

Цитата Dinvin4ester:
Выбор таблетки »
Это меняется через препроцессор в шапке скрипта.
читать дальше »
Код: Выделить весь код
////////////Возможно выбрать только один из трех вариантов////////////////////
////////////(Var1) Вариант 1 - только выбор таблеток
////////////(Var2) Вариант 2 - только выбор доп компонентов
////////////(Var3) Вариант 3 - Выбор и доп компонентов и таблетки
#define Var1
;#define Var2
;#define Var3

Последний раз редактировалось saurn, 17-05-2013 в 23:26.


Отправлено: 23:05, 17-05-2013 | #474


Ветеран


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

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


saurn согласен

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


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


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

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


Цитата saurn:
Могу предложить Font.Height := -19; »
Этот неподходит, жаль, спасибо и на этом.

Отправлено: 08:15, 18-05-2013 | #476


Аватара для Dinvin4ester

Старожил


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

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


saurn,
Оформление оставить , также как вы делали и раньше .Остальное не нужно)

Вот наподобии этой хочу сделать - http://s018.radikal.ru/i507/1211/4b/9c89be892801.jpg . Ранее то что вы мне сделали - Он кажется половину скрипта писал через IS GameScript Generator , а половину сторонее уже. Вот так как бы .Интересует то окно , маленькое .
Это было написано с помошью генератора , пропустил инсталлятор специально .
читать дальше »
[Setup]
SourceDir=.
OutputDir=Setup
AppName=Jumper Tree
AppVerName=Jumper Tree
AppVersion=Jumper Tree
DefaultDirName={pf}\Jumper Tree
DefaultGroupName=Jumper Tree
AllowNoIcons=yes
OutputBaseFilename=setup
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
Compression=lzma/normal
DiskSpanning=yes
DiskSliceSize=2100000000
SlicesPerDisk=1

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

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"

[Files]
Source: "C:\Users\Администратор\Desktop\Новая папка (11)\Files\Install\2.bmp"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "C:\Users\Администратор\Desktop\Новая папка (5)\Files\Install\2.bmp"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "C:\Users\Администратор\Desktop\Новая папка (5)\Files\Install\WizardImage.bmp"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "isgsg.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "bass.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "innocallback.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "C:\Users\Администратор\Desktop\KMC feat. Jamtech - Forever (Original Mix).mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression

Source: "E:\Приколы\Игры\Jumper Tree\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension

[Icons]
Name: "{group}\Jumper Tree"; Filename: "{app}\JT.exe"; WorkingDir: "{app}";
Name: "{userdesktop}\Jumper Tree"; Filename: "{app}\JT.exe"; WorkingDir: "{app}"; Tasks: desktopicon;
Name: "{group}\{cm:UninstallProgram,Jumper Tree}"; Filename: "{uninstallexe}"

[Run]
Description: "{cm:LaunchProgram, Jumper Tree}"; Filename: "{app}\JT.exe"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent unchecked

[UninstallDelete]
Type: filesandordirs; Name: "{app}"

[code]
type
HSTREAM=DWORD;
TTimerProc=procedure(uTimerID,uMessage:UINT;dwUser,dw1,dw2:DWORD);
const
Indent=25;

var
MP3List:TStringList;
CurrentMP3:integer;
hMP3:HWND;
TimerID:LongWord;

function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boo lean; external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssSetBkgImage(FileName:PChar); external 'ssSetBkgImage@files:isgsg.dll stdcall delayload';
procedure ssAddImage(FileName:PChar); external 'ssAddImage@files:isgsg.dll stdcall delayload';
procedure ssStartShow; external 'ssStartShow@files:isgsg.dll stdcall delayload';
procedure ssStopShow; external 'ssStopShow@files:isgsg.dll stdcall delayload';
function GetSystemMetrics(nIndex:Integer):integer; external 'GetSystemMetrics@user32.dll stdcall delayload';
function SetTimer(hWnd:HWND;nIDEvent,uElapse:UINT;lpTimerFunc:LongWord{TFNTimerProc}):UINT; external 'SetTimer@user32.dll stdcall delayload';
function KillTimer(hWnd:HWND;uIDEvent:UINT):BOOL; external 'KillTimer@user32.dll stdcall delayload';
function BASS_ChannelIsActive(Handle:HWND):DWORD; external 'BASS_ChannelIsActive@files:bass.dll stdcall';
function BASS_SetConfig(Option,Value:DWORD):DWORD; external 'BASS_SetConfig@files:bass.dll stdcall';
function BASS_Init(Device:integer;Freq,Flags:DWORD;Win:HWND;CLSID:integer):boolean; external 'BASS_Init@files:bass.dll stdcall delayload';
function BASS_StreamCreateFile(Mem:BOOL;f:PChar;Offset:DWORD;Length:DWORD;Flags:DWORD):HSTREAM; external 'BASS_StreamCreateFile@files:bass.dll stdcall';
function BASS_StreamFree(Handle:HWND):boolean; external 'BASS_StreamFree@files:bass.dll stdcall';
function BASS_ChannelPlay(Handle:HWND;Restart:boolean):boolean; external 'BASS_ChannelPlay@files:bass.dll stdcall';
function BASS_Start: Boolean; external 'BASS_Start@files:bass.dll stdcall';
function BASS_Stop: Boolean; external 'BASS_Stop@files:bass.dll stdcall';
function BASS_Free: Boolean; external 'BASS_Free@files:bass.dll stdcall delayload';
function WrapTimerProc(CallBack:TTimerProc;ParamCount:integer):LongWord; external 'wrapcallback@files:innocallback.dll stdcall';

procedure TimerTick(uTimerID,uMessage:UINT;dwUser,dw1,dw2:DWORD);
begin
if BASS_ChannelIsActive(hMP3)=0 then begin
BASS_Stop;
BASS_StreamFree(hMP3);
hMP3:=BASS_StreamCreateFile(False,PChar(MP3List.Strings[CurrentMP3]),0,0,0);
BASS_Start;
if hMP3<>0 then
if BASS_ChannelPlay(hMP3,True) then begin
CurrentMP3:=CurrentMP3+1;
if CurrentMP3>MP3List.Count-1 then CurrentMP3:=0;
end;
end;
end;

function InitializeSetup:boolean;
begin
ExtractTemporaryFile('KMC feat. Jamtech - Forever (Original Mix).mp3');
MP3List:=TStringList.Create;
MP3List.Add(ExpandConstant('{tmp}')+'\KMC feat. Jamtech - Forever (Original Mix).mp3');
CurrentMP3:=0;
Result:=True;
end;

procedure InitializeWizard;
begin
TimerID:=SetTimer(0,0,500,WrapTimerProc(@TimerTick,5));
BASS_Init(-1,44100,0,0,0);
BASS_SetConfig(5,100);
BASS_SetConfig(6,100);
ssInitialize(GetWindowLong(MainForm.Handle,-8),10,False,1,$FF000000);
ExtractTemporaryFile('2.bmp');
ssSetBkgImage(ExpandConstant('{tmp}')+'\2.bmp');
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then begin
ExtractTemporaryFile('2.bmp');
ssAddImage(ExpandConstant('{tmp}')+'\2.bmp');
ExtractTemporaryFile('WizardImage.bmp');
ssAddImage(ExpandConstant('{tmp}')+'\WizardImage.bmp');
ssStartShow;
end;
if CurStep=ssPostInstall then ssStopShow;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpInstalling then begin
WizardForm.MainPanel.Visible:=False;
WizardForm.Bevel1.Visible:=False;
WizardForm.Width:=ScaleX(395);
WizardForm.Height:=ScaleY(142);
WizardForm.Left:=ScaleX(GetSystemMetrics(0)-WizardForm.Width-Indent);
WizardForm.Top:=ScaleY(GetSystemMetrics(1)-WizardForm.Height-Indent);
WizardForm.InnerNotebook.Left:=ScaleX(10);
WizardForm.InnerNotebook.Top:=ScaleY(10);
WizardForm.InnerNotebook.Width:=ScaleX(370);
WizardForm.StatusLabel.Left:=ScaleX(0);
WizardForm.StatusLabel.Top:=ScaleY(0);
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:=ScaleX(0);
WizardForm.FileNameLabel.Top:=ScaleY(20);
WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:=ScaleY(40);
WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:=ScaleX(154);
WizardForm.CancelButton.Top:=ScaleY(80);
end;
if (CurPageID=wpFinished) or (CurPageID=wpInfoAfter) then begin
if WizardForm.Width<>502 then begin
WizardForm.Visible:=False;
WizardForm.Width:=ScaleX(502);
WizardForm.Height:=ScaleY(392);
WizardForm.Left:=(GetSystemMetrics(0)-WizardForm.Width) div 2;
WizardForm.Top:=(GetSystemMetrics(1)-WizardForm.Height) div 2;
WizardForm.MainPanel.Visible:=True;
WizardForm.Bevel1.Visible:=True;
WizardForm.InnerNotebook.Left:=ScaleX(40);
WizardForm.InnerNotebook.Top:=ScaleY(72);
WizardForm.InnerNotebook.Width:=ScaleX(417);
WizardForm.Visible:=True;
end;
end;
end;

procedure DeinitializeSetup;
begin
KillTimer(0,TimerID);
BASS_Stop;
BASS_Free;
MP3List.Free;
ssDeInitialize;
end;

+2 скрипт- как соединить их ?

Последний раз редактировалось Dinvin4ester, 18-05-2013 в 17:43. Причина: кекхх


Отправлено: 15:11, 18-05-2013 | #477


Аватара для Aquila

Ветеран


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

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


Здравствуйте. Моя трабла такова, хочу сделать установочник в котором хотел бы использовать несколько ключей установки, в частности для добавления в различные директории ярлыки программы, подскажите пожалуйста кто чем может.

-------
На всех не угодишь!


Отправлено: 02:39, 19-05-2013 | #478


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


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

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


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

Отправлено: 13:52, 19-05-2013 | #479


Аватара для Gnom_aka_Lexander

Ветеран


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

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


by_gangster, стандартные чекбоксы инно не меняют цвет шрифта и фона, хоть такие свойства у них и есть.

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

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

Отправлено: 13:56, 19-05-2013 | #480



Компьютерный форум 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




 
Переход