Войти

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


Страниц : 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 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188

my-94
22-02-2011, 14:19
Спасибо за помощь

nik1967
22-02-2011, 14:42
my-94,
На предыдущей странице serg aka lain, Лександер и я писали примеры, как увеличить дефолтный инсталл.
За тебя скрипт писать не буду, чем мог - помог.

my-94
22-02-2011, 16:08
Как подвинуть кнопки ?


http://s2.ipicture.ru/uploads/20110222/RdiSUGKq.bmp

Gnom_aka_Lexander
22-02-2011, 16:17
my-94, Для урл-кнопы:
URLButton := TButton.Create(WizardForm);
with URLButton do begin
Left := AboutButton.Left + AboutButton.Width + ScaleX(10);
ScaleX(10); - число меняеш до тех пор, пока кнопа не приедет куда тебе нужно :)
Для кнопки далее - в процедуру InitializeWizard(); добавить вот такой код:
begin
with WizardForm.NextButton do
begin
Left := ScaleX(175);
end;
ScaleX(175) - меняеш число, пока не понравится результат :)
Только кнопу далее двигать я-бы не советовал :)

my-94
22-02-2011, 16:31
Лександер

Вставляю


[Setup]
AppId={{4E7C4AAA-6115-4228-B387-707B52DDCD89}
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=no
;disablereadypage=true

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

[Messages]
BeveledLabel=111

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

[Files]
Source: Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopy nocompression
Source: ISSkin.dll; DestDir: {tmp}; Flags: dontcopy nocompression
source: 1.bmp; DestDir: {tmp}; Flags: dontcopy nocompression
Source: isgsg.dll; DestDir: {tmp}; Flags: dontcopy nocompression
Source: splash.png; DestDir: {tmp}; Flags: dontcopy nocompression

[Code]
var
AboutButton, CancelButton, URLButton: TButton;
BackgroundBitmapImage: TBitmapImage;
BackgroundBitmapText: TNewStaticText;
BmpFile: TBitmapImage;

procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';

procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';

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';

function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Office2007.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), '');
Result := True;
end;

procedure DeinitializeSetup();
begin
UnloadSkin();
end;

procedure AboutButtonOnClick(Sender: TObject);
begin
MsgBox('Ýòî äåìî âåðñèÿ ïðîãðàììû.', mbInformation, mb_Ok);
end;

procedure URLLabelOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://forum.ru-board.com/topic.cgi?forum=5&topic=35848&start=40#lt', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

procedure InitializeWizard();
begin
ExtractTemporaryFile('1.bmp'); //Èçâëåêàåì ôàéë, êîòîðûé ïîéäåò â îêíî èíñòàëëÿòîðà
//Âñòàâëÿåì èçîáðàæåíèå â îêíî èíñòàëëÿòîðà, äëÿ êàæäîé ñòðàíèöû íóæíî äîáâëÿòü èçîáðàæåíèå çàíîâî
ExtractTemporaryFile('splash.png');
BmpFile:= TBitmapImage.Create(WizardForm);
with BmpFile do begin
Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
SetBounds(ScaleX(0), ScaleY(0), ScaleX(497), ScaleY(313));
Stretch:= true;
Parent:= WizardForm.WelcomePage;
end;

BmpFile:= TBitmapImage.Create(WizardForm);
with BmpFile do begin
Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
SetBounds(ScaleX(0), ScaleY(0), ScaleX(497), ScaleY(313));
Stretch:= true;
Parent:= WizardForm.FinishedPage;
end;



ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\splash.png',1000,3000,1000,0,255,False, $FFFFFF,10);

with WizardForm do
begin
WelcomeLabel1.Hide;
WelcomeLabel2.Hide;
FinishedHeadingLabel.Hide;
FinishedLabel.Hide;
end;
CancelButton := WizardForm.CancelButton;
AboutButton := TButton.Create(WizardForm);
with AboutButton do begin
Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width;
Top := CancelButton.Top;
Width := CancelButton.Width;
Height := CancelButton.Height;
Caption := '&Repack info';
OnClick := @AboutButtonOnClick;
Parent := WizardForm;
end;

URLButton := TButton.Create(WizardForm);
with URLButton do begin
Left := AboutButton.Left + AboutButton.Width + ScaleX(10);

begin
with WizardForm.NextButton do
begin
Left := ScaleX(175);
end;

URLButton := TButton.Create(WizardForm);
with URLButton do begin
Left := AboutButton.Left + AboutButton.Width + ScaleX(10);
Top := CancelButton.Top;
Width := CancelButton.Width;
Height := CancelButton.Height;
Caption := 'Ñàéò';
OnClick := @URLLabelOnClick;
Parent := WizardForm;
end;

BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Left := ScaleX(50);
BackgroundBitmapImage.Top := ScaleY(100);
BackgroundBitmapImage.AutoSize := True;
BackgroundBitmapImage.Bitmap := WizardForm.WizardBitmapImage.Bitmap;
BackgroundBitmapImage.Parent := MainForm;

BackgroundBitmapText := TNewStaticText.Create(MainForm);
BackgroundBitmapText.Left := BackgroundBitmapImage.Left;
BackgroundBitmapText.Top := BackgroundBitmapImage.Top + BackgroundBitmapImage.Height + ScaleY(8);
BackgroundBitmapText.Caption := 'TBitmapImage';
BackgroundBitmapText.Parent := MainForm;
end;

Procedure CurPageChanged(CurPageID: Integer);
Begin
if CurPageID <> wpWelcome then begin
AboutButton.Hide; URLButton.Hide end else begin
AboutButton.Show; URLButton.Show; end;
end;







Выдаёт ошибку :(


я выделил жирным что вставил , а строчка URLButton := TButton.Create(WizardForm);
with URLButton do begin
Left := AboutButton.Left + AboutButton.Width + ScaleX(10); уже есть

Gnom_aka_Lexander
22-02-2011, 17:17
my-94, Не вижу, чего там вставлено :) я последнее время, прежде чем советовать, стал по два раза проверять :)

my-94
22-02-2011, 17:31
Выделил жирным

ChVL
22-02-2011, 18:15
Есть ли способ во все сразу выделенные строки скрипта в конце добавить, к примеру, Flags: ignoreversion?

Gnom_aka_Lexander
22-02-2011, 18:18
То, что ты выделил - после ближайшего энда писать нужно, аURLButton := TButton.Create(WizardForm);
with URLButton do begin
Left := AboutButton.Left + AboutButton.Width + ScaleX(10); »
я и не говорил, что добавлять нужно, в ней нижно менять координату ScaleX(10).

ChVL, только в ISTool или InnoIDE, насколько я знаю.

R.i.m.s.k.y.
22-02-2011, 18:22
Есть ли способ во все сразу выделенные строки скрипта в конце добавить, к примеру, Flags: ignoreversion? »
Да, открываешь скрипт в ISTool, слева выбираешь секцию Files, справа выделяешь строчки, на них ПКМ - свойства и выставляешь флаги.

my-94
22-02-2011, 19:32
Лександер

Спасибо с координатой ScaleX(10) получилось сдвинуть кнопку "Сайт"

А вот с

begin
with WizardForm.NextButton do
begin
Left := ScaleX(175);
end;

не чего не получается !

Gnom_aka_Lexander
22-02-2011, 20:08
my-94, Там по логике даже - begin
with WizardForm.NextButton do
begin
Left := ScaleX(175);
end; »
В самом конце процедуры InitializeWizard(); нужно поставить еще один энд (два бегина :))
Подсказка - после строчки BackgroundBitmapText.Parent := MainForm;

my-94
22-02-2011, 20:57
Лександер

Вот вставил как всё написано всё равно ни как :(

[Setup]
AppId={{4E7C4AAA-6115-4228-B387-707B52DDCD89}
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=no
;disablereadypage=true

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

[Messages]
BeveledLabel=111

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

[Files]
Source: Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopy nocompression
Source: ISSkin.dll; DestDir: {tmp}; Flags: dontcopy nocompression
source: 1.bmp; DestDir: {tmp}; Flags: dontcopy nocompression
Source: isgsg.dll; DestDir: {tmp}; Flags: dontcopy nocompression
Source: splash.png; DestDir: {tmp}; Flags: dontcopy nocompression

[Code]
var
AboutButton, CancelButton, URLButton: TButton;
BackgroundBitmapImage: TBitmapImage;
BackgroundBitmapText: TNewStaticText;
BmpFile: TBitmapImage;

procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';

procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';

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';

function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Office2007.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), '');
Result := True;
end;

procedure DeinitializeSetup();
begin
UnloadSkin();
end;

procedure AboutButtonOnClick(Sender: TObject);
begin
MsgBox('Ýòî äåìî âåðñèÿ ïðîãðàììû.', mbInformation, mb_Ok);
end;

procedure URLLabelOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://forum.ru-board.com/topic.cgi?forum=5&topic=35848&start=40#lt', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

procedure InitializeWizard();
begin
ExtractTemporaryFile('1.bmp'); //Èçâëåêàåì ôàéë, êîòîðûé ïîéäåò â îêíî èíñòàëëÿòîðà
//Âñòàâëÿåì èçîáðàæåíèå â îêíî èíñòàëëÿòîðà, äëÿ êàæäîé ñòðàíèöû íóæíî äîáâëÿòü èçîáðàæåíèå çàíîâî
ExtractTemporaryFile('splash.png');
BmpFile:= TBitmapImage.Create(WizardForm);
with BmpFile do begin
Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
SetBounds(ScaleX(0), ScaleY(0), ScaleX(497), ScaleY(313));
Stretch:= true;
Parent:= WizardForm.WelcomePage;
end;

BmpFile:= TBitmapImage.Create(WizardForm);
with BmpFile do begin
Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
SetBounds(ScaleX(0), ScaleY(0), ScaleX(497), ScaleY(313));
Stretch:= true;
Parent:= WizardForm.FinishedPage;
end;

ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\splash.png',1000,3000,1000,0,255,False, $FFFFFF,10);

with WizardForm do
begin
WelcomeLabel1.Hide;
WelcomeLabel2.Hide;
FinishedHeadingLabel.Hide;
FinishedLabel.Hide;
end;
CancelButton := WizardForm.CancelButton;
AboutButton := TButton.Create(WizardForm);
with AboutButton do begin
Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width;
Top := CancelButton.Top;
Width := CancelButton.Width;
Height := CancelButton.Height;
Caption := '&Repack info';
OnClick := @AboutButtonOnClick;
Parent := WizardForm;
end;



URLButton := TButton.Create(WizardForm);
with URLButton do begin
Left := AboutButton.Left + AboutButton.Width + ScaleX(50);
Top := CancelButton.Top;
Width := CancelButton.Width;
Height := CancelButton.Height;
Caption := 'Ñàéò';
OnClick := @URLLabelOnClick;
Parent := WizardForm;
end;


BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Left := ScaleX(50);
BackgroundBitmapImage.Top := ScaleY(100);
BackgroundBitmapImage.AutoSize := True;
BackgroundBitmapImage.Bitmap := WizardForm.WizardBitmapImage.Bitmap;
BackgroundBitmapImage.Parent := MainForm;

BackgroundBitmapText := TNewStaticText.Create(MainForm);
BackgroundBitmapText.Left := BackgroundBitmapImage.Left;
BackgroundBitmapText.Top := BackgroundBitmapImage.Top + BackgroundBitmapImage.Height + ScaleY(8);
BackgroundBitmapText.Caption := 'TBitmapImage';
BackgroundBitmapText.Parent := MainForm;
end;
end;
begin
begin
with WizardForm.NextButton do
begin
Left := ScaleX(175);
end;



Procedure CurPageChanged(CurPageID: Integer);
Begin
if CurPageID <> wpWelcome then begin
AboutButton.Hide; URLButton.Hide end else begin
AboutButton.Show; URLButton.Show; end;
end;

Gnom_aka_Lexander
22-02-2011, 21:35
my-94, у тебя получается, только если написать за тебя?
[Setup]
AppId={{4E7C4AAA-6115-4228-B387-707B52DDCD89}
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=no
;disablereadypage=true

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

[Messages]
BeveledLabel=111

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

[Files]
Source: Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopy nocompression
Source: ISSkin.dll; DestDir: {tmp}; Flags: dontcopy nocompression
source: 1.bmp; DestDir: {tmp}; Flags: dontcopy nocompression
Source: isgsg.dll; DestDir: {tmp}; Flags: dontcopy nocompression
Source: splash.png; DestDir: {tmp}; Flags: dontcopy nocompression

[_Code]
var
AboutButton, CancelButton, URLButton: TButton;
BackgroundBitmapImage: TBitmapImage;
BackgroundBitmapText: TNewStaticText;
BmpFile: TBitmapImage;

procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';

procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';

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';

function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Office2007.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), '');
Result := True;
end;

procedure DeinitializeSetup();
begin
UnloadSkin();
end;

procedure AboutButtonOnClick(Sender: TObject);
begin
MsgBox('Это демо версия программы.', mbInformation, mb_Ok);
end;

procedure URLLabelOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://forum.ru-board.com/topic.cgi?forum=5&topic=35848&start=40#lt', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

procedure InitializeWizard();
begin
ExtractTemporaryFile('1.bmp'); //Извлекаем файл, который пойдет в окно инсталлятора
//Вставляем изображение в окно инсталлятора, для каждой страницы нужно добвлять изображение заново
ExtractTemporaryFile('splash.png');
BmpFile:= TBitmapImage.Create(WizardForm);
with BmpFile do begin
Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
SetBounds(ScaleX(0), ScaleY(0), ScaleX(497), ScaleY(313));
Stretch:= true;
Parent:= WizardForm.WelcomePage;
end;

BmpFile:= TBitmapImage.Create(WizardForm);
with BmpFile do begin
Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
SetBounds(ScaleX(0), ScaleY(0), ScaleX(497), ScaleY(313));
Stretch:= true;
Parent:= WizardForm.FinishedPage;
end;

ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\splash.png',1000,3000,1000,0,255,False, $FFFFFF,10);

with WizardForm do
begin
WelcomeLabel1.Hide;
WelcomeLabel2.Hide;
FinishedHeadingLabel.Hide;
FinishedLabel.Hide;
end;
begin
with WizardForm.NextButton do
begin
Left := ScaleX(175);
end;
CancelButton := WizardForm.CancelButton;
AboutButton := TButton.Create(WizardForm);
with AboutButton do begin
Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width;
Top := CancelButton.Top;
Width := CancelButton.Width;
Height := CancelButton.Height;
Caption := '&Repack info';
OnClick := @AboutButtonOnClick;
Parent := WizardForm;
end;

URLButton := TButton.Create(WizardForm);
with URLButton do begin
Left := AboutButton.Left + AboutButton.Width + ScaleX(10);
Top := CancelButton.Top;
Width := CancelButton.Width;
Height := CancelButton.Height;
Caption := 'Сайт';
OnClick := @URLLabelOnClick;
Parent := WizardForm;
end;
end;
BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Left := ScaleX(50);
BackgroundBitmapImage.Top := ScaleY(100);
BackgroundBitmapImage.AutoSize := True;
BackgroundBitmapImage.Bitmap := WizardForm.WizardBitmapImage.Bitmap;
BackgroundBitmapImage.Parent := MainForm;

BackgroundBitmapText := TNewStaticText.Create(MainForm);
BackgroundBitmapText.Left := BackgroundBitmapImage.Left;
BackgroundBitmapText.Top := BackgroundBitmapImage.Top + BackgroundBitmapImage.Height + ScaleY(8);
BackgroundBitmapText.Caption := 'TBitmapImage';
BackgroundBitmapText.Parent := MainForm;
end;

Procedure CurPageChanged(CurPageID: Integer);
Begin
if CurPageID <> wpWelcome then begin
AboutButton.Hide; URLButton.Hide end else begin
AboutButton.Show; URLButton.Show; end;
end;
выделил

my-94
22-02-2011, 21:43
Лександер

Выдели пожалуйста жирным что ты вставил

Gnom_aka_Lexander
22-02-2011, 21:50
my-94, Выделил (http://forum.oszone.net/post-1619509-860.html)
Чтобы научится - бери готовые, разбирай их, и много-много думай - как чего работает, если спрашивать даже такие мелочи - как вставить в скрипт уже готовый код - сложно будет научится.
И еще - есть такая кнопа - Полезное сообщение - не забывай жать ее, если помогли тебе.
И еще, маленький секрет открою - я тоже очень-очень хочу научится писать скрипты :)

my-94
22-02-2011, 21:52
Спасибо хочу тоже научится скрипты писать :)

R.i.m.s.k.y.
23-02-2011, 00:28
И еще, маленький секрет открою - я тоже очень-очень хочу научится писать скрипты »
Спасибо хочу тоже научится скрипты писать »
чего там учиться, наливай да пей! ;)

lettergold
23-02-2011, 13:08
Мой инсталятор должен проверят какая стоит ОС ,и в нужную устанавливать файл.
делаю так:
Source: F:\Программа по ОС\Win7\RICHED20.DLL; DestDir: {app}; Flags: ignoreversion; MinVersion: ,6.1.7600;
Source: F:\Программа по ОС\XP\riched20.dll; DestDir: {app}; Flags: ignoreversion; OnlyBelowVersion: ,6.1.7600;

То есть если Windows7 и выше,то с этой папки : Win7\RICHED20.DLL , и соответственно если ниже, то с другой.


Но при компиляции вот такая ошибка:

Column: Parameter "OnlyBelowVersion" is not a valid value. (Параметр "OnlyBelowVersion" не является допустимым значением.)

Подскажите в чем ошибка?

XXXler
23-02-2011, 15:35
мб потому как:
OnlyBelowVersion: 0, 6.1.7600




© OSzone.net 2001-2012