Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 6]
CkauNui, скрипт и сейчас работает, а то что вы принимаете за ошибку, на самом деле предупреждение компилятора что вариации для указанных стандартных контролов не используются. У вас в скрипте указанно лишь, что эти контролы скрываются, а так как существуют стандартные контролы с такими же именами, то переменные TLabel для них ведут в никуда. На работе инстала это никак не скажется, но, если это предупреждение нервирует, уберите контролы из переменных.
Есть так:
WelcomeLabel1, WelcomeLabel2, FinishedLabel, FinishedHeadingLabel: TLabel;
Сделайте так:
WelcomeLabel2, FinishedLabel: TLabel;
volga163@vk
16-06-2013, 15:01
Вызывайте процедуру создания папок после страницы выбора папки установки(wpSelectDir) »
Спасибо за наводку, только я немного не понял, как это сделать. Не могли бы Вы показать, как организовать вызов процедуры на этом этапе? Чего-то не получается. Просто я - новичок, ещё не во всём разобрался.
CkauNui, скрипт и сейчас работает, а то что вы принимаете за ошибку, на самом деле предупреждение компилятора что вариации для указанных стандартных контролов не используются. У вас в скрипте указанно лишь, что эти контролы скрываются, а так как существуют стандартные контролы с такими же именами, то переменные TLabel для них ведут в никуда. На работе инстала это никак не скажется, но, если это предупреждение нервирует, уберите контролы из переменных. »
он скорее всего из за этого не принимает скин.
Скрины:
то как было: http://rghost.ru/46792521/image.png (http://rghost.ru/46792521.view)
и как сейчас: http://rghost.ru/46792568/image.png (http://rghost.ru/46792568.view)
CkauNui, лейблы к скину отношения не имеют, а так скинами не пользуюсь, подсказать по ним ничего не могу.
volga163@vk, на скрипт ваш можно глянуть?
volga163@vk
16-06-2013, 15:56
volga163@vk, на скрипт ваш можно глянуть? »
Вот секция
[CODE][Code]
function GetSystemMetrics(nIndex:Integer):Integer;
external 'GetSystemMetrics@user32.dll stdcall';
function ShowWindow(hWnd, nCmdShow: LongWord): LongWord; external 'ShowWindow@user32.dll stdcall';
Procedure BackgroundOnActivate(Sender: TObject); Begin if WizardForm.Visible then WizardForm.Show End;
// ---------------------------
// Вставляем bass.dll и музыку
// ---------------------------
const
BASS_SAMPLE_LOOP = 4;
BASS_UNICODE = $80000000;
BASS_CONFIG_GVOL_STREAM = 5;
const
#ifndef UNICODE
EncodingFlag = 0;
#else
EncodingFlag = BASS_UNICODE;
#endif
type
HSTREAM = DWORD;
function BASS_Init(device: LongInt; freq, flags: DWORD;
win: HWND; clsid: Cardinal): BOOL;
external 'BASS_Init@files:bass.dll stdcall';
function BASS_StreamCreateFile(mem: BOOL; f: string; offset1: DWORD;
offset2: DWORD; length1: DWORD; length2: DWORD; flags: DWORD): HSTREAM;
external 'BASS_StreamCreateFile@files:bass.dll stdcall';
function BASS_ChannelPlay(handle: DWORD; restart: BOOL): BOOL;
external 'BASS_ChannelPlay@files:bass.dll stdcall';
function BASS_SetConfig(option: DWORD; value: DWORD ): BOOL;
external 'BASS_SetConfig@files:bass.dll stdcall';
function BASS_Free: BOOL;
external 'BASS_Free@files:bass.dll stdcall';
procedure InitializeWizard();
var
s, Name: string;
i : Integer;
StreamHandle: HSTREAM;
BackgroundImage: TBitmapImage;
BackgroundForm: TForm;
begin
// ---------------
// Загрузка музыки
// ---------------
ExtractTemporaryFile('hal1.mp3');
if BASS_Init(-1, 44100, 0, 0, 0) then
begin
StreamHandle := BASS_StreamCreateFile(False,
ExpandConstant('{tmp}\hal1.mp3'), 0, 0, 0, 0,
EncodingFlag or BASS_SAMPLE_LOOP);
BASS_SetConfig(BASS_CONFIG_GVOL_STREAM, 2500);
BASS_ChannelPlay(StreamHandle, False);
end;
BackgroundForm:= TForm.Create(nil)
BackgroundForm.BorderStyle:= bsNone
BackgroundForm.OnActivate:= @BackgroundOnActivate;
ShowWindow(BackgroundForm.Handle, sw_ShowMaximized) // фоновое окно на полный экран
BackgroundImage:= TBitmapImage.Create(BackgroundForm)
BackgroundImage.Align:= alClient
BackgroundImage.Stretch:= True
ExtractTemporaryFile('fon.bmp')
BackgroundImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\fon.bmp'))
BackgroundImage.Parent:= BackgroundForm
ITD_Init;
// Оглашаем создание папок Bukkit.
CreateDir(WizardDirValue()+'\1.5.2 Bukkit\');
CreateDir(WizardDirValue()+'\1.5.1 Bukkit\');
CreateDir(WizardDirValue()+'\1.5.0 Bukkit\');
CreateDir(WizardDirValue()+'\1.4.7 Bukkit\');
CreateDir(WizardDirValue()+'\1.4.6 Bukkit\');
CreateDir(WizardDirValue()+'\1.4.7 MCPC\');
CreateDir(WizardDirValue()+'\1.5.1 MCPC\');
CreateDir(WizardDirValue()+'\1.5.2 MCPC\');
// ЗАКОНЧИЛИ ОГЛАШАТЬ СОЗДАНИЕ ПАПОК
// -------------------------
// Загружаем следующие файлы
itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/02161_1.5.2-R0.2/craftbukkit-dev.jar',Wizarddirvalue()+'\1.5.2 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.5.2
itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/02099_1.5.1-R0.3/craftbukkit-dev.jar',Wizarddirvalue()+'\1.5.1 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.5.1
itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/01980_1.5-R0.1/craftbukkit-dev.jar',Wizarddirvalue()+'\1.5.0 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.5.0
itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/01845_1.4.7-R1.0/craftbukkit.jar',Wizarddirvalue()+'\1.4.7 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.4.7
itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/01800_1.4.6-R0.4/craftbukkit-dev.jar',Wizarddirvalue()+'\1.4.6 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.4.6
itd_addfile('http://ci.md-5.net/job/MCPC-Plus-Legacy/lastSuccessfulBuild/artifact/target/mcpc-plus-legacy-1.4.7-R1.1-SNAPSHOT-f534-L67.jar',Wizarddirvalue()+'\1.4.7 MCPC\'+'craftubkkit-1.0.0-SNAPSHOT.jar'); // MCPC+ Legacy 1.4.7
itd_addfile('http://ci.md-5.net/job/MCPC-Plus/lastSuccessfulBuild/artifact/target/mcpc-plus-151compat-1.5.2-R1.1-forge736-C549.jar',Wizarddirvalue()+'\1.5.1 MCPC\'+'craftubukkit-1.0.0-SNAPSHOT.jar'); // MCPC+ 1.5.1
itd_addfile('http://ci.md-5.net/job/MCPC-Plus/lastSuccessfulBuild/artifact/target/mcpc-plus-1.5.2-R1.1-forge736-B549.jar',Wizarddirvalue()+'\1.5.2 MCPC\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // MCPC+ 1.5.2
// ЗАКОНЧИЛИ ЗАГРУЖАТЬ ФАЙЛЫ
// -------------------------
itd_setoption('UI_DetailedMode', '1'); // Детализированный режим
itd_downloadafter(wpInstalling); // Загружаем файл после установки
end;
procedure DeinitializeSetup;
begin
BASS_Free;
end;
volga163@vk,
[Code]
function GetSystemMetrics(nIndex:Integer):Integer;
external 'GetSystemMetrics@user32.dll stdcall';
function ShowWindow(hWnd, nCmdShow: LongWord): LongWord; external 'ShowWindow@user32.dll stdcall';
Procedure BackgroundOnActivate(Sender: TObject); Begin if WizardForm.Visible then WizardForm.Show End;
// ---------------------------
// Вставляем bass.dll и музыку
// ---------------------------
const
BASS_SAMPLE_LOOP = 4;
BASS_UNICODE = $80000000;
BASS_CONFIG_GVOL_STREAM = 5;
#ifndef UNICODE
EncodingFlag = 0;
#else
EncodingFlag = BASS_UNICODE;
#endif
type
HSTREAM = DWORD;
function BASS_Init(device: LongInt; freq, flags: DWORD;
win: HWND; clsid: Cardinal): BOOL;
external 'BASS_Init@files:bass.dll stdcall';
function BASS_StreamCreateFile(mem: BOOL; f: string; offset1: DWORD;
offset2: DWORD; length1: DWORD; length2: DWORD; flags: DWORD): HSTREAM;
external 'BASS_StreamCreateFile@files:bass.dll stdcall';
function BASS_ChannelPlay(handle: DWORD; restart: BOOL): BOOL;
external 'BASS_ChannelPlay@files:bass.dll stdcall';
function BASS_SetConfig(option: DWORD; value: DWORD ): BOOL;
external 'BASS_SetConfig@files:bass.dll stdcall';
function BASS_Free: BOOL;
external 'BASS_Free@files:bass.dll stdcall';
procedure InitializeWizard();
var
s, Name: string;
i : Integer;
StreamHandle: HSTREAM;
BackgroundImage: TBitmapImage;
BackgroundForm: TForm;
begin
// ---------------
// Загрузка музыки
// ---------------
ExtractTemporaryFile('hal1.mp3');
if BASS_Init(-1, 44100, 0, 0, 0) then
begin
StreamHandle := BASS_StreamCreateFile(False,
ExpandConstant('{tmp}\hal1.mp3'), 0, 0, 0, 0,
EncodingFlag or BASS_SAMPLE_LOOP);
BASS_SetConfig(BASS_CONFIG_GVOL_STREAM, 2500);
BASS_ChannelPlay(StreamHandle, False);
end;
BackgroundForm:= TForm.Create(nil)
BackgroundForm.BorderStyle:= bsNone
BackgroundForm.OnActivate:= @BackgroundOnActivate;
ShowWindow(BackgroundForm.Handle, sw_ShowMaximized) // фоновое окно на полный экран
BackgroundImage:= TBitmapImage.Create(BackgroundForm)
BackgroundImage.Align:= alClient
BackgroundImage.Stretch:= True
ExtractTemporaryFile('fon.bmp')
BackgroundImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\fon.bmp'))
BackgroundImage.Parent:= BackgroundForm
end;
procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
wpInstalling:
begin
ITD_Init;
CreateDir(AddBackslash(Wizarddirvalue()) + '\1.5.2 Bukkit\');
CreateDir(AddBackslash(Wizarddirvalue()) + '\1.5.1 Bukkit\');
CreateDir(AddBackslash(Wizarddirvalue()) + '\1.5.0 Bukkit\');
CreateDir(AddBackslash(Wizarddirvalue()) + '\1.4.7 Bukkit\');
CreateDir(AddBackslash(Wizarddirvalue()) + '\1.4.6 Bukkit\');
CreateDir(AddBackslash(Wizarddirvalue()) + '\1.4.7 MCPC\');
CreateDir(AddBackslash(Wizarddirvalue()) + '\1.5.1 MCPC\');
CreateDir(AddBackslash(Wizarddirvalue()) + '\1.5.2 MCPC\');
itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/02161_1.5.2-R0.2/craftbukkit-dev.jar',Wizarddirvalue()+'\1.5.2 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.5.2
itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/02099_1.5.1-R0.3/craftbukkit-dev.jar',Wizarddirvalue()+'\1.5.1 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.5.1
itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/01980_1.5-R0.1/craftbukkit-dev.jar',Wizarddirvalue()+'\1.5.0 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.5.0
itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/01845_1.4.7-R1.0/craftbukkit.jar',Wizarddirvalue()+'\1.4.7 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.4.7
itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/01800_1.4.6-R0.4/craftbukkit-dev.jar',Wizarddirvalue()+'\1.4.6 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.4.6
itd_addfile('http://ci.md-5.net/job/MCPC-Plus-Legacy/lastSuccessfulBuild/artifact/target/mcpc-plus-legacy-1.4.7-R1.1-SNAPSHOT-f534-L67.jar',Wizarddirvalue()+'\1.4.7 MCPC\'+'craftubkkit-1.0.0-SNAPSHOT.jar'); // MCPC+ Legacy 1.4.7
itd_addfile('http://ci.md-5.net/job/MCPC-Plus/lastSuccessfulBuild/artifact/target/mcpc-plus-151compat-1.5.2-R1.1-forge736-C549.jar',Wizarddirvalue()+'\1.5.1 MCPC\'+'craftubukkit-1.0.0-SNAPSHOT.jar'); // MCPC+ 1.5.1
itd_addfile('http://ci.md-5.net/job/MCPC-Plus/lastSuccessfulBuild/artifact/target/mcpc-plus-1.5.2-R1.1-forge736-B549.jar',Wizarddirvalue()+'\1.5.2 MCPC\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // MCPC+ 1.5.2
itd_setoption('UI_DetailedMode', '1'); // Детализированный режим
itd_downloadafter(wpInstalling); // Загружаем файл после установки
end;
end;
end;
procedure DeinitializeSetup;
begin
BASS_Free;
end;
volga163@vk
16-06-2013, 17:28
saurn, Если сделать, как у Вас, InnoTools Downloader не может скачать файлы:
Sorry, the files could not be downloaded. Click 'Retry' to try downloading the files again, or click 'Cancel' to terminate setup.
Какие ещё могут быть идеи? :sorry:
volga163@vk
16-06-2013, 18:00
архив с вашим скриптом и набором файлов необходимых для работы инстала »
Вот: http://rghost.ru/46797068 Программа + файлы для инстала + скрипт (~7 мегабайт)
volga163@vk, обновил свой предыдущий пример http://forum.oszone.net/post-2168645-646.html
volga163@vk
16-06-2013, 18:55
saurn, Спасибо ОГРОМНОЕ, теперь всё работает. Разобрался.
habib2302
16-06-2013, 20:44
люди помогите мне.я делаю репак chemax & chemax rus.скрипт я брал за основу скрипта aida64.ситуация такая при выборе двух компонентов все файлы дву chemax'ов копируются в одну общую папку и получается вот так
http://img521.imageshack.us/img521/6444/yuz0.png (http://img15.imageshack.us/img15/5715/7ng.png)
помогите мне сделать так,чтобы при выборе двух компонентов создавались подпапки для компанентов
R.i.m.s.k.y.
16-06-2013, 20:45
habib2302, угадай, мы попросим показать скрипт или нет?
habib2302
16-06-2013, 21:14
R.i.m.s.k.y., sorry!!!
RGhost (http://rghost.ru/46801424)
habib2302, в том скрипте аиды это реализовано, причем первый раз мной же. Ну вот что тут сложного, вроде не новичек. Да и в справке описано.
[Files]
Source: Компонент 1\*; DestDir: {app}\Компонент 1; Flags: recursesubdirs overwritereadonly createallsubdirs ignoreversion; Components: programms1;
Source: Компонент 2\*; DestDir: {app}\Компонент 2; Flags: recursesubdirs overwritereadonly createallsubdirs ignoreversion; Components: programms2;
[Components]
Name: programms1; Description: бла-бла-бла1;
Name: programms2; Description: бла-бла-бла2;
volga163@vk
16-06-2013, 21:52
Друзья, а ни у кого не получилось русифицировать Inno Tools Downloader? Кракозяблики в любой кодировке выходят (пробовал ANSI, UTF-8, Win-1251, Win-1252).
habib2302
16-06-2013, 22:08
я дописал то,что выделено жирным в коде и все равно
Source: Компонент 1\*; DestDir: {app}\Компонент 1; Flags: recursesubdirs overwritereadonly createallsubdirs ignoreversion; Components: programms1;
Source: Компонент 2\*; DestDir: {app}\Компонент 2; Flags: recursesubdirs overwritereadonly createallsubdirs ignoreversion; Components: programms2;
habib2302, ну вот я дописал имена подпапок и все устанавливается
Source: {app}\{#CheMax}\*; DestDir: {app}\Original; Flags: recursesubdirs overwritereadonly createallsubdirs ignoreversion; Components: CheatsMaximal\CheMax;
Source: {app}\{#CheMaxRus}\*; DestDir: {app}\Russian; Flags: recursesubdirs overwritereadonly createallsubdirs ignoreversion; Components: CheatsMaximal\CheMaxRus;
Только для ярлыков измените пути согласно значениям DestDir
habib2302
16-06-2013, 22:22
saurn,
RGhost (http://rghost.ru/46803011)
Со скином разобрался (была проблема в isskin.dll)
Теперь нужна помощь.
Хочу сделать выбор компонентов:
-----
Обычный шрифт
Красивый шрифт
-----
Обычный хит-бар
Хит-бар версия 1
Хит-бар версия 2
----
и все в таком духе, вопрос как сделать чтобы при выборе "обычный шрифт" галка с "красивый шрифт" снималась автоматически, тоесть или то или то. И во 2 выборе хитбаров тоже самое. Желательно чтоб к каждому пункту можно было прикрутить картинку (например при наведении мыши или при выборе картинка показыывается в отдельно окне)
Благодарю заранее.
Немного разобрался:
http://rghost.ru/46811002/image.png (http://rghost.ru/46811002.view)
[Components]
Name: shrift; Description: Шрифты; Flags: checkablealone fixed; Types: custom compact full
Name: shrift\r; Description: Обычне шрифты; Flags: exclusive; Types: custom compact full
Name: shrift\s; Description: Красивые шрифты; Flags: exclusive; Types: custom compact
Name: hitbar; Description: Хит бар; Flags: checkablealone fixed; Types: custom compact full
Name: hitbar\r; Description: Хит бар обычный; Flags: exclusive; Types: custom compact full
Name: hitbar\s; Description: Хит бар с мемами; Flags: exclusive; Types: custom compact
Остался вопрос с возможностью добавления картинок к пунктам, и возможно ли поменять цвет у fixed элементов ? Также можно ли настроить порядок установки (или они устанавливаются так, как я прописал в [Files] ?) и как сделать чтобы не выскакивало окошко о уже установленных компонентах ?
http://rghost.ru/46817231/image.png (http://rghost.ru/46817231.view)
R.i.m.s.k.y.
17-06-2013, 19:08
volga163@vk, а 866 кодировку не пробовал? дос он такой, вечтозеленовый
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC