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

Farser21
25-01-2015, 19:35
Добрый вечер.
В моем установщике используется большое количество картинок в формате bmp, из-за этого установщик подвисает, возможно ли как-то вместо bmp использовать картинки в формате png?

Shift85
25-01-2015, 19:36
Okta_333, Пробуйте:

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\D-3.arc'), ExpandConstant('{app}\'), '', false, 'пароль', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;

Добрый вечер.
В моем установщике используется большое количество картинок в формате bmp, из-за этого установщик подвисает, возможно ли как-то вместо bmp использовать картинки в формате png? »
Farser21, Конечно можно с помощью ботвы.

Пример:http://rghost.ru/60554844

Okta_333
25-01-2015, 19:47
Shift85

Та же ошибка.

Shift85
25-01-2015, 19:51
Та же ошибка. »
Okta_333, У вас какая версия инно (анси или юнникод)

Okta_333
25-01-2015, 19:56
Inno Setup 5.4.2.ee2 (a) (build 110319)
А вот Анси или Юникод, я не знаю.

Shift85
25-01-2015, 20:04
Inno Setup 5.4.2.ee2 (a) (build 110319)
А вот Анси или Юникод, я не знаю. »
Анси.

Установите расширенную версию Inno Setup

Okta_333
25-01-2015, 20:13
Shift85

У меня и есть расширенная. Inno Ultra, зелёненькая.

Farser21
25-01-2015, 20:17
Shift85, можно ли подправить этот код, чтобы он мог использовать png картинки?

procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea);
var
i: Integer;
begin
if Index = LastIndex then Exit;
CompIndex := -1;
for i := 0 to GetArrayLength(CompDescs) -1 do
begin
if (CompDescs[i].Index = Index) then
begin
CompIndex := i;
Break;
end;
end;
if (CompIndex >= 0) and (Area = iaItem) then
begin
if not FileExists(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName) then
ExtractTemporaryFile(CompDescs[CompIndex].ImageName);
CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName);
CompDescImg.Show;
BitmapImage.Hide;
CompDescText.Caption := CompDescs[CompIndex].Description;
CompDescText.Enabled := True;
end else
begin
CompDescText.Caption := CustomMessage('ComponentsInfo');
CompDescText.Enabled := False;
CompDescImg.Hide;
BitmapImage.Show;
end;
LastIndex := Index;

end;

procedure CompListMouseLeave(Sender: TObject);
begin
CompDescImg.Hide;
CompDescText.Caption := CustomMessage('ComponentsInfo');
CompDescText.Enabled := False;
LastIndex := -1;
BitmapImage.Show;
end;

procedure AddCompDescription(AIndex: Integer; ADescription: String; AImageName: String);
var
i: Integer;
begin
i := GetArrayLength(CompDescs);
SetArrayLength(CompDescs, i + 1);
CompDescs[i].Description := ADescription;
CompDescs[i].ImageName := AImageName;
CompDescs[i].Index := AIndex - 1
end;

Shift85
25-01-2015, 20:19
У меня и есть расширенная. Inno Ultra, зелёненькая. »
Okta_333, Давайте скрипт с файлами гляну че да как.
Залейте куда нибудь на файлообменик.

Farser21, Весь скрипт с нуля придется переписывать.

SBalykov
25-01-2015, 21:11
Добрый день!
Имеется вопрос. Как можно убрать средствами IS последнюю папку в стринге "Dir":
function GetInstallDir(Dir:string):string;
begin
RegQueryStringValue(HKLM,'SOFTWARE\Maxis\Programs','Install Dir',Dir);
Result:=Dir; //Dir - C:\Games\Maxis\Programs
end;
Заранее спасибо...

nik1967
25-01-2015, 21:48
Inno Setup 5.4.2.ee2 (a) (build 110319) »
Да ладно? Последняя расширенная - Inno Setup 5.5.1.ee2 (a) (build 121216)/Inno Setup 5.5.1.ee2 (u) (build 121216)

Gnom_aka_Lexander
25-01-2015, 21:49
SBalykov, Result:=ExtractFilePath(Dir) // Dir - C:\Games\Maxis\Programs Result - C:\Games\Maxis\

Shift85
25-01-2015, 22:13
Да ладно? Последняя расширенная - Inno Setup 5.5.1.ee2 (a) (build 121216)/Inno Setup 5.5.1.ee2 (u) (build 121002) »
nik1967, Inno Setup 5.5.1.ee2 (a) (build 121002)/Inno Setup 5.5.1.ee2 (u) (build 121216)
http://s50.radikal.ru/i130/1501/5a/a634791d8068t.jpg (http://radikal.ru/fp/84b5b07a99904ccdabcc04c8eb78436c)

SBalykov
25-01-2015, 22:16
Gnom_aka_Lexander
Вы меня не совсем поняли.
#define Dir "{code:GetInstallDir|{pf32}\My Prog}"

function GetInstallDir(Dir:string):string;
begin
RegQueryStringValue(HKLM,'SOFTWARE\Maxis\Programs','Install Dir',Dir);
Result:=Dir; // Директория может быть любой, но необходимо убрать последнюю папку этой директории.
end; // н.п. x:\xxx\Programs

Gnom_aka_Lexander
25-01-2015, 22:21
SBalykov, Именно это и делает функция ExtractFilePath. То, что в имени функции присутствует слово File, говорит лишь о том, что используется она для того, чтоб из полного пути к файлу, вернуть только путь, без имени файла. Я-же вполне успешно использую ее для того, чтоб шагнуть на папку назад. Или как Вы выразились - убрать последнюю папку из пути.

SBalykov
25-01-2015, 22:23
Gnom_aka_Lexander
Спасибо.
Сейчас попробую...
P.S.
Еще раз, спасибо. Все работает.
Просто голова уже не соображает...

nik1967
25-01-2015, 22:27
Shift85, вроде бы выкладывали уже build 121216 (https://yadi.sk/d/OdAcphPfeEMXb)
http://i63.fastpic.ru/thumb/2015/0125/5c/0edb79a54c010885bbe0c9018392a55c.jpeg (http://fastpic.ru/view/63/2015/0125/0edb79a54c010885bbe0c9018392a55c.png.html)

Nordek
26-01-2015, 02:32
вроде бы выкладывали уже »В первом сообщении (http://forum.oszone.net/post-1201499-1.html) соседней темы (http://forum.oszone.net/thread-148707.html).

Inno Setup Compiler build 121216 (http://restools.hanzify.org/article.asp?id=47)
Поддерживаемые версии: 5.5.0 - 5.5.2
Ссылка: Загрузить (http://restools.hanzify.org/inno/InnoCompiler121216(7zip).zip) (Архив "InnoCompiler121216(7zip).zip" переименовать в "InnoCompiler121216.7z".)

Inno ISCmplr Setup build 121002 (http://restools.hanzify.org/article.asp?id=89)
Поддерживаемые версии: 5.5.1
Ссылка: Загрузить (http://restools.hanzify.org/inno/Inno_ISCmplr_Setup121002(7zip).zip) (Архив "Inno_ISCmplr_Setup121002(7zip).zip" переименовать в "Inno_ISCmplr_Setup121002.7z".)

Готовые варианты прикреплены ниже: Достаточно из папки "Inno_Setup_5" выделить все файлы и скопировать в папку с программой.

El Sanchez
26-01-2015, 09:38
В моем установщике используется большое количество картинок в формате bmp, из-за этого установщик подвисает, возможно ли как-то вместо bmp использовать картинки в формате png? »
Farser21, если картинок много, то стОит выставить SolidCompression=no, а смена формата мало поможет.
Я-же вполне успешно использую ее для того, чтоб шагнуть на папку назад. Или как Вы выразились - убрать последнюю папку из пути. »
Gnom_aka_Lexander, успешно до тех пор пока в реестре не встретится путь с завершающим слешем. Такое указание пути к папке является правильным и однозначно дает понять системе, что перед ней путь именно к папке, а не к файлу без расширения. Поэтому нужно отсекать слеш в любом случае, даже если его там нет:

Result := ExtractFilePath(RemoveBackslash(Dir));

demon_000
26-01-2015, 13:19
Ребят, не поможете вшить исдан 06 финал в этот инсталятор http://dfiles.ru/files/syle5r9i0




© OSzone.net 2001-2012