PDA

Показать полную графическую версию : Скрипты 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

Richter
08-08-2011, 13:50
Как убрать текст с поля деинсталлятора? http://forum.oszone.net/attachment.php?attachmentid=68172&stc=1&d=1312796930

insombia
08-08-2011, 14:18
Richter procedure InitializeUninstallProgressForm;

UninstallProgressForm.PageNameLabel.Font.Color:=clwhite;

замени на UninstallProgressForm.PageNameLabel.Font.Color:=clblack;

Richter
08-08-2011, 14:27
insombia
Так только чёрный текст на чёрном фоне становится невидимым. Остаётся чёрная прямоугольная площадь, перекрывающая рисунок...
У меня был код, растягивающий верхнюю картинку в окне установщика. Там как-то его вкрутил, а вот с деинсталлятором что-то не получается.

insombia
08-08-2011, 14:28
Richter попробуй удалить UninstallProgressForm.PageNameLabel.Font.Color:=clwhite; потом скажешь что будет писать

Richter
08-08-2011, 14:31
Тот же эффект - текста нет а площадь под надпись накрывает рисунок.

insombia
08-08-2011, 14:32
Richter жди тогда когда кто-то другой придет и тебе подскажет,дай свой скрипт посмотрю может выйдет

Richter
08-08-2011, 14:38
http://forum.oszone.net/attachment.php?attachmentid=68176&stc=1&d=1312799830

insombia
08-08-2011, 15:11
Richter не знаю не получилось

Richter
08-08-2011, 15:15
UninstallProgressForm.PageNameLabel.Hide;

valyok666
08-08-2011, 16:40
Richter, Лови (http://rghost.ru/17234771)
заметил что у тебя ещё на финишной странице картинка уходила влево исправил=)

insombia
09-08-2011, 10:09
Как переместить выбор создания ярлыков и дополнительного ПО возле выбора куда установить игру чтобы при этом секция где до этого нужно было выбирать все это пропала?

No4noylis
09-08-2011, 13:15
insombia, Для этого удаляй Task, и на SelectDir сам создавай чекбоксы для ярлыков и дополнительного ПО!

vint56
09-08-2011, 13:17
insombia, как так
[Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program

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

[CustomMessages]
russian.SoftTask=Установить дополнительное ПО
russian.SoftInstall=Идет установка дополнительного ПО. Пожалуйста подождите...

[Icons]
Name: {commondesktop}\My Program; Filename: {app}\MyProg.exe; IconIndex: 0; Check: MakeDesktopIcon

[Code]
var
Soft: TCheckBox ;
DesktopIcon: TCheckBox;
DesktopIconlb: TLabel;

function MakeDesktopIcon: Boolean;
begin
Result:=DesktopIcon.Checked;
end;

procedure InitializeWizard();
begin
Soft:= TCheckBox.Create(WizardForm)
Soft.SetBounds(WizardForm.DirEdit.Left, WizardForm.DirEdit.Top+ScaleY(26), ScaleX(200), ScaleY(20))
Soft.Caption:= ExpandConstant('{cm:SoftTask}')
Soft.Checked:=True;
Soft.Parent:=WizardForm.SelectDirPage;

DesktopIcon := TCheckBox.Create(WizardForm);
with DesktopIcon do
begin
Left := ScaleX(0);
Top := ScaleY(130);
Width := ScaleX(15);
TabOrder := 0;
Checked := True;
Parent := WizardForm.SelectDirPage;
end;

DesktopIconlb := TLabel.Create(WizardForm);
DesktopIconlb.Left := DesktopIcon.Left + ScaleX(17);
DesktopIconlb.Top := DesktopIcon.Top + ScaleY(3);
DesktopIconlb.Caption := 'Добавить ярлык на рабочий стол';
DesktopIconlb.Font.Color := clblack;
DesktopIconlb.Transparent := True;
DesktopIconlb.Parent := WizardForm.SelectDirPage;
end;


procedure CurStepChanged(CurStep: TSetupStep);
var res: integer;
begin
if CurStep = ssPostInstall then begin
If Soft.Checked then begin
WizardForm.FileNameLabel.Caption:=ExpandConstant('{cm:SoftInstall}');
Exec(ExpandConstant('{src}\Redist\PhysX_9.09.0428_System Software.exe'), '/quiet', ExpandConstant('{src}\Redist'), SW_SHOW, ewWaitUntilTerminated, Res);
Exec(ExpandConstant('{src}\DirectX\DXSETUP.exe'), '/silent', ExpandConstant('{src}\DirectX'), SW_SHOW, ewWaitUntilTerminated, Res);
if isWin64 then
Exec(ExpandConstant('{src}\Redist\vcredist_x64.exe'), '/Q', ExpandConstant('{src}\Redist'), SW_SHOW, ewWaitUntilTerminated, Res)
else
Exec(ExpandConstant('{src}\Redist\vcredist_x86.exe'), '/Q', ExpandConstant('{src}\Redist'), SW_SHOW, ewWaitUntilTerminated, Res);
end;
end;
end;

insombia
09-08-2011, 13:33
как сделать чтобы в ис доне не писалось какие именно файлы распаковываются а просто распаковка файлов?

insombia
09-08-2011, 13:54
vint56 блин у меня черный инсталятор то получилось так http://images.bcm.net.ua/images/42941626350248071598.jpg как исправить?

vint56
09-08-2011, 14:04
insombia, как сделать чтобы в ис доне не писалось какие именно файлы распаковываются а просто распаковка файлов? »
procedure CurStepChanged(CurStep: TSetupStep);

ShowComponents; на этапе показа
LabelCurrFileName.Hide; он скроет лайбал и не будет показывать файлы
а поповоду 2 вопроса

[Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program

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

[CustomMessages]
russian.SoftTask=Установить дополнительное ПО
russian.SoftInstall=Идет установка дополнительного ПО. Пожалуйста подождите...

[Icons]
Name: {commondesktop}\My Program; Filename: {app}\MyProg.exe; IconIndex: 0; Check: MakeDesktopIcon

[Code]
var
Soft,DesktopIcon: TCheckBox ;
Softlb,DesktopIconlb: TLabel;

function MakeDesktopIcon: Boolean;
begin
Result:=DesktopIcon.Checked;
end;

procedure InitializeWizard();
begin
Soft := TCheckBox.Create(WizardForm);
with Soft do
begin
Left := ScaleX(0);
Top := ScaleY(110);
Width := ScaleX(15);
TabOrder := 0;
Checked := True;
Parent := WizardForm.SelectDirPage;
end;

Softlb := TLabel.Create(WizardForm);
Softlb.Left := ScaleX(17);
Softlb.Top := ScaleY(110);
Softlb.Caption := 'Установить По';
Softlb.Font.Color := clwhite;
Softlb.Transparent := True;
Softlb.Parent := WizardForm.SelectDirPage;


DesktopIcon := TCheckBox.Create(WizardForm);
with DesktopIcon do
begin
Left := ScaleX(0);
Top := ScaleY(130);
Width := ScaleX(15);
TabOrder := 0;
Checked := True;
Parent := WizardForm.SelectDirPage;
end;

DesktopIconlb := TLabel.Create(WizardForm);
DesktopIconlb.Left := DesktopIcon.Left + ScaleX(17);
DesktopIconlb.Top := DesktopIcon.Top + ScaleY(3);
DesktopIconlb.Caption := 'Добавить ярлык на рабочий стол';
DesktopIconlb.Font.Color := clwhite;
DesktopIconlb.Transparent := True;
DesktopIconlb.Parent := WizardForm.SelectDirPage;
end;


procedure CurStepChanged(CurStep: TSetupStep);
var res: integer;
begin
if CurStep = ssPostInstall then begin
If Soft.Checked then begin
WizardForm.FileNameLabel.Caption:=ExpandConstant('{cm:SoftInstall}');
Exec(ExpandConstant('{src}\Redist\PhysX_9.09.0428_System Software.exe'), '/quiet', ExpandConstant('{src}\Redist'), SW_SHOW, ewWaitUntilTerminated, Res);
Exec(ExpandConstant('{src}\DirectX\DXSETUP.exe'), '/silent', ExpandConstant('{src}\DirectX'), SW_SHOW, ewWaitUntilTerminated, Res);
if isWin64 then
Exec(ExpandConstant('{src}\Redist\vcredist_x64.exe'), '/Q', ExpandConstant('{src}\Redist'), SW_SHOW, ewWaitUntilTerminated, Res)
else
Exec(ExpandConstant('{src}\Redist\vcredist_x86.exe'), '/Q', ExpandConstant('{src}\Redist'), SW_SHOW, ewWaitUntilTerminated, Res);
end;
end;
end;

insombia
09-08-2011, 14:40
что делать если есть 2 одинаковых CurStepChanged(CurStep: TSetupStep);

с ним типа
Procedure CurPageChanged(CurPageID: Integer);
Begin
CurPageChanged2 (CurPageID);
end; не пашет

vint56
09-08-2011, 14:48
insombia, там где одинаковые поменяй на 1 и 2
procedure CurPageChanged(CurPageID: Integer);
begin
CurPageChanged1(CurPageID);
CurPageChanged2(CurPageID);
end;

R.i.m.s.k.y.
09-08-2011, 14:50
будет забавно если CurPageChanged1 и CurPageChanged2 сработают над одной страницей

Gnom_aka_Lexander
09-08-2011, 15:00
будет забавно если CurPageChanged1 и CurPageChanged2 сработают над одной страницей »
Я писал уже про объединение процедур несколько раз, но есть авторитетные люди, которые говорят, что что можно забить на мои советы, и делать так, как по их авторитетному мнению нужно делать. Но, в конце концов, справедливость не так, так иначе себя покажет. Программирование терпит мелкие ошибки до случая, не далее :)




© OSzone.net 2001-2012