PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 7]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Ivan_009
07-04-2014, 16:42
Покажите пример пожалуйста если у кого имеется, на отображение сколько распаковано файлов...

Как тут: http://rghost.ru/53844067

Dodakaedr
07-04-2014, 17:01
Как исправить эту ошибку? Скрипт с Ultimate Test Black.7z в шапке...

Farser21
07-04-2014, 17:08
Stealthmax, спасибо большое все просто супер. Как я понял на этом примере который вы мне скинули не только описание компонентов а еще и изображение? Т.е. мне убрать мой скрипт на показ изображений к компонентом?

Dodakaedr
07-04-2014, 17:22
По исправлял появилась следующая....
Я так понимаю что все дело в unicode?

saurn
07-04-2014, 17:24
Dodakaedr, в описании ошибки кроется ее причина: "Не хватает знака ";" в строке 118". И таких ошибок, дальше по скрипту, будет тьма, так как юникодовая инно не допускает отсутствия точки с запятой, и после логической скобки end в особенности.

PRAVIY
07-04-2014, 19:20
Здравствуйте, совсем недавно начал изучать тему создания репаков.
При создании и оформлении своего первого инсталятора сталкнулся со следующей ошибкой.

После компиляции установочник не желает открываться, высвечивая статус "не отвечает". Долго пытался разобраться в чём дело, в итоге понял что конфликт идёт с частью скрипта отвечающем за всплывающее png изображение перед запуском установочника и с частью отвечающей за кликабельный логотип.
Примечательно то что этот же самый скрипт прекрасно компелируется и без проблем запускается если в [Files] вместо всей папки игры запаковать "пустышку" из нескольких файлов.
Уже кучу гайдов перерыл, решения так и не нашёл. Буду благодарен если кто сможет помочь разобраться.


Вот собственно сам скрипт:

[Setup]
DiskSpanning=true
DiskSliceSize=1457664000
AppName=DOOM 3 - COOP
AppVerName=Doom 3 - Coop
AppPublisherURL=http://Coop-Land.ru/rookovodstva/356-rukovodstvo-zapuska-Doom-3-po-seti.html
AppSupportURL=http://Coop-Land.ru/rookovodstva/356-rukovodstvo-zapuska-Doom-3-po-seti.html
AppUpdatesURL=http://Coop-Land.ru/rookovodstva/356-rukovodstvo-zapuska-Doom-3-po-seti.html
DefaultDirName=Games\DOOM 3 - COOP
DefaultGroupName=DOOM 3 - COOP
AllowNoIcons=yes
OutputDir=D:\GAMES\SETUP\Созданные репаки
OutputBaseFilename=DOOM 3 - COOP
SetupIconFile=D:\GAMES\DOOM 3\lms4\Doom 3 Coop.ico
Compression=lzma/ultra64
SolidCompression=true
WizardImageFile=PIC\Fon.bmp
WizardSmallImageFile=PIC\Shapka.bmp
InternalCompressLevel=ultra64

[Languages]
Name: russian; MessagesFile: compiler:Default.isl

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked

[Files]
Source: D:\GAMES\DOOM 3\LMS4\LMS4.bat; DestDir: {app}\LMS4; Flags: ignoreversion
;Source: D:\GAMES\DOOM 3\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Source: PIC\logo.bmp; Flags: dontcopy
Source: DLL\CallbackCtrl.dll; Flags: dontcopy
Source: PIC\splash.png; Flags: dontcopy
Source: DLL\isgsg.dll; Flags: dontcopy

[Icons]
Name: {group}\DOOM 3 - COOP; Filename: {app}\LMS4\LMS4.bat; WorkingDir: {app}\LMS4; IconFileName: {app}\LMS4\Doom 3 Coop.ico
Name: {group}\{cm:UninstallProgram,DOOM 3 - COOP}; Filename: {uninstallexe}
Name: {commondesktop}\DOOM 3 - COOP; Filename: {app}\LMS4\LMS4.bat; WorkingDir: {app}\LMS4; IconFileName: {app}\LMS4\Doom 3 Coop.ico; Comment: "Запустить кооперативный режим Doom 3"; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\DOOM 3 - COOP; Filename: {app}\LMS4\LMS4.bat; Tasks: quicklaunchicon

[Registry]
Root: HKLM; SubKey: SOFTWARE\id\Doom 3; ValueType: string; ValueName: CDKEY; ValueData: {app}; Flags: uninsdeletekey

[CustomMessages]
russian.Error2=Установка %nDoom 3 Coop Mod %nне завершена.
russian.Error3=%nВо время установки произошла ошибка, пожалуйста отключите сторонние программы и повторите попытку установки.%n%n%nНажмите «Завершить», чтобы выйти.
russian.WelcomeLabel1= Программа установит игру Doom 3 Coop Mod на Ваш компьютер.
russian.WelcomeLabel2= Нажмите «Далее», чтобы продолжить, или «Отмена», чтобы выйти.
russian.FinisLabel1=Игра %nDoom 3 Coop Mod%n установлена на Ваш компьютер.

[code]
var
PageNameLabel, PageDescriptionLabel, WelcomeLabel1,WelcomeLabel2,FLabel1, FLabel2, WLabel1, WLabel2, WelcomeLabel4,FinishedHeadingLabel, FinishedHeadingLabel1,WelcomeLabel3: TLabel;

/////////////////////////////// ФОНОВОЕ ИЗОБРАЖЕНИЕ ///////////////////////////////
procedure WizardImage();
begin
WizardForm.WizardBitmapImage.Width:= ScaleX(497);
WizardForm.WizardBitmapImage2.Width:= ScaleX(497);

WelcomeLabel1:= TLabel.Create(WizardForm);
WelcomeLabel1.Left := ScaleX(149);
WelcomeLabel1.Top := ScaleY(119);
WelcomeLabel1.Width := ScaleX(205);
WelcomeLabel1.Height := ScaleY(219);
WelcomeLabel1.AutoSize := False;
WelcomeLabel1.WordWrap := True;
WelcomeLabel1.Alignment := taCenter;
WelcomeLabel1.Font.Size := 12;
WelcomeLabel1.Font.Color:= clblack;
WelcomeLabel1.Font.Style:= [fsBold]
WelcomeLabel1.Font.Name:= 'Georgia'
WelcomeLabel1.ShowAccelChar := False;
WelcomeLabel1.Caption :=ExpandConstant('{cm:WelcomeLabel1}');
WelcomeLabel1.Transparent := True;
WelcomeLabel1.Parent := WizardForm.WelcomePage;

WLabel1 := TLabel.Create(WizardForm);
WLabel1.Left := ScaleX(148);
WLabel1.Top := ScaleY(118);
WLabel1.Width := ScaleX(205);
WLabel1.Height := ScaleY(219);
WLabel1.AutoSize := False;
WLabel1.WordWrap := True;
WLabel1.Alignment := taCenter;
WLabel1.Font.Size := 12;
WLabel1.Font.Color:= clwhite;
WLabel1.Font.Style:= [fsBold]
WLabel1.Font.Name:= 'Georgia'
WLabel1.ShowAccelChar := False;
WLabel1.Caption :=ExpandConstant('{cm:WelcomeLabel1}');
WLabel1.Transparent := True;
WLabel1.Parent := WizardForm.WelcomePage;

WelcomeLabel2:= TLabel.Create(WizardForm);
WelcomeLabel2.Left := ScaleX(149);
WelcomeLabel2.Top := ScaleY(184);
WelcomeLabel2.Width := ScaleX(210);
WelcomeLabel2.Height := ScaleY(234);
WelcomeLabel2.AutoSize := False;
WelcomeLabel2.WordWrap := True;
WelcomeLabel2.Alignment := taCenter;
WelcomeLabel2.Font.Size := 12;
WelcomeLabel2.Font.Color:= clblack;
WelcomeLabel2.Font.Style:= [fsBold]
WelcomeLabel2.Font.Name:= 'Georgia'
WelcomeLabel2.ShowAccelChar := False;
WelcomeLabel2.Caption :=ExpandConstant('{cm:WelcomeLabel2}');
WelcomeLabel2.Transparent := True;
WelcomeLabel2.Parent := WizardForm.WelcomePage;

WLabel2 :=TLabel.Create(WizardForm);
WLabel2.Left := ScaleX(148);
WLabel2.Top := ScaleY(183);
WLabel2.Width := ScaleX(210);
WLabel2.Height := ScaleY(234);
WLabel2.AutoSize := False;
WLabel2.WordWrap := True;
WLabel2.Alignment := taCenter;
WLabel2.Font.Size := 12;
WLabel2.Font.Style:= [fsBold]
WLabel2.Font.Color:= clwhite;
WLabel2.Font.Name:= 'Georgia'
WLabel2.ShowAccelChar := False;
WLabel2.Caption := ExpandConstant('{cm:WelcomeLabel2}');
WLabel2.Transparent := True;
WLabel2.Parent := WizardForm.WelcomePage;

FinishedHeadingLabel:= TLabel.Create(WizardForm);
FinishedHeadingLabel.Left := ScaleX(99);
FinishedHeadingLabel.Top := ScaleY(117);
FinishedHeadingLabel.Width := ScaleX(308);
FinishedHeadingLabel.Height := ScaleY(100);
FinishedHeadingLabel.AutoSize := False;
FinishedHeadingLabel.WordWrap := True;
FinishedHeadingLabel.Alignment := taCenter;
FinishedHeadingLabel.Font.Size := 12;
FinishedHeadingLabel.Font.Color:= clblack;
FinishedHeadingLabel.Font.Style:= [fsBold]
FinishedHeadingLabel.Font.Name:= 'Georgia'
FinishedHeadingLabel.ShowAccelChar := False;
FinishedHeadingLabel.Caption :=ExpandConstant('{cm:FinisLabel1}');
FinishedHeadingLabel.Transparent := True;
FinishedHeadingLabel.Parent := WizardForm.FinishedPage;

FLabel1 := TLabel.Create(WizardForm);
FLabel1.Left := ScaleX(98);
FLabel1.Top := ScaleY(116);
FLabel1.Width := ScaleX(308);
FLabel1.Height := ScaleY(100);
FLabel1.AutoSize := False;
FLabel1.Alignment := taCenter;
FLabel1.WordWrap := True;
FLabel1.Font.Size := 12;
FLabel1.Font.Name := 'Georgia'
FLabel1.Font.Color:= clwhite;
FLabel1.Font.Style:= [fsBold]
FLabel1.ShowAccelChar := False;
FLabel1.Caption := ExpandConstant('{cm:FinisLabel1}');
FLabel1.Transparent := True;
FLabel1.Parent := WizardForm.FinishedPage;

WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;

WizardForm.FinishedLabel.Hide;
WizardForm.FinishedHeadingLabel.Hide;
end;
/////////////////////////////////////////Ф.И.///////////////////////////////////////////



///////////////////////////////// ИЗОБРАЖЕНИЕ ШАПКИ ////////////////////////////////////
procedure WizardSmallImage();
begin
WizardForm.WizardSmallBitmapImage.SetBounds(ScaleX(0), ScaleY(0), WizardForm.MainPanel.Width, WizardForm.MainPanel.Height);

PageNameLabel:= TLabel.Create(WizardForm)
with WizardForm.PageNameLabel do
PageNameLabel.SetBounds(Left, Top, Width, Height);
PageNameLabel.Transparent:= True;
PageNameLabel.Font:= WizardForm.PageNameLabel.Font;
PageNameLabel.Font.Color:= clblack;
PageNameLabel.Parent:= WizardForm.MainPanel;

PageDescriptionLabel:= TLabel.Create(WizardForm);
with PageDescriptionLabel do
begin
Left:= WizardForm.PageDescriptionLabel.Left-12;
Top:= WizardForm.PageDescriptionLabel.Top;
Height:= WizardForm.PageDescriptionLabel.Height;
Width:= ScaleX(280);
AutoSize:= False;
WordWrap:= True;
Font.Name:= WizardForm.PageDescriptionLabel.Font.Name;
Transparent:= True;
Parent:= WizardForm.MainPanel;
end;

WizardForm.PageNameLabel.Hide;
WizardForm.PageDescriptionLabel.Hide;
end;
/////////////////////////////////////////И.Ш.///////////////////////////////////////////



////////////////////////////////// ВСПЛЫВАЮЩЕЕ ЛОГО ////////////////////////////////////
procedure ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload';

procedure Splash();
begin
ExtractTemporaryFile('Splash.png');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash.png',1000,3000,1000,0,255,False, $FFFFFF,10);
end;
/////////////////////////////////////////В.Л.///////////////////////////////////////////



////////////////////////////////// КЛИКАБЕЛЬНОЕ ЛОГО ///////////////////////////////////
procedure LogoOnClick(Sender: TObject);
var ResCode: Integer;
begin
ShellExec('', 'http://Coop-Land.ru/rookovodstva/356-rukovodstvo-zapuska-Doom-3-po-seti.html', '' , '', SW_SHOW, ewNoWait, ResCode)
end;

procedure Logo();
var
BtnPanel: TPanel;
BtnImage: TBitmapImage;
begin
ExtractTemporaryFile('logo.bmp')

BtnPanel:=TPanel.Create(WizardForm)
with BtnPanel do begin
Left:=20
Top:=325
Width:=192
Height:=26
Cursor:=crHand
OnClick:=@logoOnClick
Parent:=WizardForm
end
BtnImage:=TBitmapImage.Create(WizardForm)
with BtnImage do begin
AutoSize:=True;
Enabled:=False;
Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\logo.bmp')
Parent:=BtnPanel
end
end;
/////////////////////////////////////////К.Л.///////////////////////////////////////////



procedure InitializeWizard;
begin
Splash();
Logo();
WizardImage();
WizardSmallImage();
WizardForm.CancelButton.BringToFront;
end;

Ivan_009
07-04-2014, 19:26
Вот собственно сам скрипт: »

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

PRAVIY
07-04-2014, 19:40
PRAVIY, С файлами залей скрипт куда нибудь гляну, а то методом подбора в лом весь вечер файлы подбирать... »
Не вопрос, вот версия с файлами "пустышками" http://yadi.sk/d/EzleIIsiLyHpC, если надо будет могу и с самой игрой залить.

vint56
07-04-2014, 19:41
PRAVIY Сначало временые файлы а потом все остальное
[Files]
Source: PIC\logo.bmp; Flags: dontcopy
Source: DLL\CallbackCtrl.dll; Flags: dontcopy
Source: PIC\splash.png; Flags: dontcopy
Source: DLL\isgsg.dll; Flags: dontcopy
Source: D:\GAMES\DOOM 3\LMS4\LMS4.bat; DestDir: {app}\LMS4; Flags: ignoreversion
;Source: D:\GAMES\DOOM 3\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs

Ivan_009
07-04-2014, 19:53
Сначало временые файлы а потом все остальное »

Собственно vint56, ты меня опередил... :)
PRAVIY, Вот пробуй: http://rghost.ru/53849516

PRAVIY
07-04-2014, 19:58
PRAVIY Сначало временые файлы а потом все остальное »
PRAVIY, Вот пробуй: http://rghost.ru/53849516 »

Блин ребята огромное вам человеческое спасибо! Скомпилировал всё работает. Всё гениальное как всегда просто :-)

Nordek
07-04-2014, 20:26
PRAVIY, Кстати, если понадобится вдруг переместить папку "Скрипт репака Doom 3" в другое место - то Inno, например файл LMS4.bat уже не найдёт.
Поэтому, замени D:\GAMES
Source: D:\GAMES\DOOM 3\LMS4\LMS4.bat; DestDir: {app}\LMS4; Flags: ignoreversion
на ".." т.е:
Source: ..\DOOM 3\LMS4\LMS4.bat; DestDir: {app}\LMS4; Flags: ignoreversion

Stealthmax
07-04-2014, 21:04
Как я понял на этом примере который вы мне скинули не только описание компонентов а еще и изображение? Т.е. мне убрать мой скрипт на показ изображений к компонентом? »На свой выбор, я в примере совместил и то и другое, можешь просто убрать в моем вывод изображения и оставить только описание. Там ничего сложного.

diman_21Ru
08-04-2014, 14:11
Как можно реализовать неоновые кнопки

Ivan_009
08-04-2014, 15:55
Как можно реализовать неоновые кнопки »
diman_21Ru, Через ботву что ли да? :whitevoid:

diman_21Ru
08-04-2014, 16:05
Ivan_009, да

Ivan_009
08-04-2014, 16:09
да »
Вот:http://rghost.ru/53880667

diman_21Ru
08-04-2014, 16:37
Ivan_009, спасибо

audiofeel
08-04-2014, 17:31
привет всем, а как "повесить" свой курсор и свой " Click.wav" и "WFEnter.wav" на
"BASS_CreateOnOffButton(WizardForm, '{tmp}\MusicButton.png', ............."
может просто отказаться от BASS и использовать function sndPlaySound

Ivan_009
08-04-2014, 18:59
привет всем, а как "повесить" свой курсор и свой " Click.wav" и "WFEnter.wav" на
"BASS_CreateOnOffButton(WizardForm, '{tmp}\MusicButton.png', ............."
может просто отказаться от BASS и использовать function sndPlaySound »

audiofeel, Наверное как на обычную кнопку наложенную через ботву...

Так:

BtnSetCursor(BASS_OnOffBtn,LoadCursorFromFile(ExpandConstant('{tmp}\cursor.ani')))




© OSzone.net 2001-2012