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

murlakatamenka
29-05-2011, 02:46
insombia, создаёте кастомные лэйблы, чекбоксы, кнопки, панельки и вперёд. внешний вид подсмотрен у инсталлеров от Good Old Games aka GOG

Gnom_aka_Lexander
29-05-2011, 20:10
vovka1021, держи (http://rghost.ru/8480681) , все лень доделать было.

Gnom_aka_Lexander
29-05-2011, 21:40
vovka1021, Найди такой кусок кода, и замени этим:
//************************************************ [Начало - Скрываем ненужные страницы] ***************************************************//
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if (PageID =wpSelectTasks) then Result:= True;
end;
//************************************************ [Конец - Скрываем ненужные страницы] ***************************************************//
Потом ниже найди wpSelectTasks: и замени wpSelectProgramGroup:.

LinkOFF
29-05-2011, 22:48
Здрасьте, а как убрать на финальной странице установки надпись "Время установки: 7 минут".Скрипт Isdone

lmiol
29-05-2011, 23:39
эммм не хочеться тревожить лишний раз и настойчиво просить, но все же не поможет ктонибуть по моему посту (http://forum.oszone.net/post-1678780-1628.html) который я оставил 11 дней назад

murlakatamenka
30-05-2011, 11:39
LinkOFF, очень просто
закомментируйте эту строчку в фунуции ProgressCallback
LabelTime3.Caption:=ExpandConstant('{cm:AllElapsedTime}')+TimeStr3;

LinkOFF
30-05-2011, 13:50
murlakatamenka, спасибо
Как изменить цвет шрифта на первой странице инсталятора и если можно на каждой отдельно

R.i.m.s.k.y.
30-05-2011, 13:59
каким макаром можно в инно узнать запущен ли экзешник %appname.exe%?

murlakatamenka
30-05-2011, 14:30
R.i.m.s.k.y., можно отслеживать по запущенному процессу
сча найду код и приведу
надо dll ISTask.dll

[Files]
Source: ISTask.dll; DestDir: {app}; Flags: dontcopy

[Коде]
function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';

//**************************************************//
procedure InitializeWizard();
begin
If RunTask('имя_процесса', false) then
begin
//что-нить делаем
end;
end;

переделал из этого (проверка, запущен ли винамп, если да, убиваем процесс)

[Files]
Source: ISTask.dll; DestDir: {app}; Flags: dontcopy

[Коде]
function KillTask(ExeFileName: string): Integer;
external 'KillTask@files:ISTask.dll stdcall delayload';

function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';

//**************************************************//
function InitializeSetup(): Boolean;
begin
If RunTask('winamp.exe', false) then
begin
if MsgBox('Программа Winamp используется. Закрыть и продолжить установку?', mbInformation, mb_YesNo) = idYes then
begin
KillTask('winamp.exe');
Result:= True;
end else
Exit;
end;
Result:=True;
end;

LinkOFF,
if CurPageID=имя_страницы then WizardForm.Font=имя_шрифта;
страницы например wpWelcome, wpSelectDir, wpReady, wpFinished и т.д. (можно посмотреть в хелпе)

R.i.m.s.k.y.
30-05-2011, 14:49
надо dll ISTask »
где его взять?

murlakatamenka
30-05-2011, 15:02
http://rghost.ru/8574801 - ISTask.dll

Gnom_aka_Lexander
30-05-2011, 15:04
R.i.m.s.k.y., если используеш мою сборку, то есть в папке Dll Pack в корне компилятора (compiler:Dll Pack\ISTask.dll) - для секции файлс

R.i.m.s.k.y.
30-05-2011, 15:07
если используеш мою сборку, то есть в папке Dll Pack в корне компилятора (compiler:Dll Pack\ISTask.dll) - для секции файлс »
ога, юзую твою лайт

murlakatamenka
30-05-2011, 15:09
вообще-то dll входит в Inno Setup Scripting (ссылка есть в шапке)
а скрипт взял из сборника скриптов от Krinkels (-//-)
Лександер, InnoUltra - это ваша сборка ? вы и есть Ultra ?

R.i.m.s.k.y.
30-05-2011, 15:16
Лександер, InnoUltra - это ваша сборка ? вы и есть Ultra ? »
у него в подписи ведь ссылка на сайт :cool:

El Sanchez
30-05-2011, 16:17
каким макаром можно в инно узнать запущен ли экзешник %appname.exe%? »
R.i.m.s.k.y.,

[Code]
function IsProcessRunning(FileName: String): Boolean;
var
objSWbemLocator, objSWbemServices: Variant;
begin
try
objSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
except
ShowExceptionMessage;
Exit;
end;
objSWbemServices := objSWbemLocator.ConnectServer();
objSWbemServices.Security_.ImpersonationLevel := 3;
Result := (objSWbemServices.ExecQuery('SELECT * FROM Win32_Process WHERE Name="' + FileName + '"').Count > 0);
end;

procedure InitializeWizard();
begin
if IsProcessRunning('notepad.exe') then
MsgBox('yes', mbInformation, MB_OK)
else
MsgBox('no', mbError, MB_OK);
end;


эммм не хочеться тревожить лишний раз и настойчиво просить, но все же не поможет ктонибуть по моему посту который я оставил 11 дней назад »
lmiol, единственный вариант, что мне пришел в голову, это создание кастомного ComponentsList, наполнение которого зависело бы от радиокнопок Standart/Pro (как на скрине). Свою страницу с радиокнопками создать-то можно, как и кастомный ComponentsList, но с синхронизацией кастомного и визардовского List'ов тяжело (там еще и TypesCombo нужно учитывать и комстроку). В общем, отложил задачу напотом, извиняйте.

R.i.m.s.k.y.
30-05-2011, 16:28
SELECT * FROM Win32_Process WHERE Name= »
на вин64 SELECT * FROM Win32_Process нормально отработает? или надо будет делать еще и SELECT * FROM Win64_Process ???

El Sanchez
30-05-2011, 18:26
на вин64 SELECT * FROM Win32_Process нормально отработает? »
R.i.m.s.k.y., да

R.i.m.s.k.y.
30-05-2011, 18:47
SELECT * FROM Win32_Process в вин64 отберет и 64разрядные процессы?

El Sanchez
30-05-2011, 20:32
SELECT * FROM Win32_Process в вин64 отберет и 64разрядные процессы? »
Да, все что отображается в диспетчере задач. И в Windows-системах нет Win64_* классов.




© OSzone.net 2001-2012