Показать полную графическую версию : [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
Jerichoman,
[CustomMessages]
russian.ArcTitle=Распаковка FreeArc-архивов...
Jerichoman
26-01-2010, 14:21
vint56
Спс
это файл картинки progress1.bmp для процесс бара
svensoft
26-01-2010, 14:56
vint56, да , уже понял, спасибо, блин, чего то не нахожу там от куда он фоновую картинку берет и растягивает и где для шапки окна там код, ну да ладно, буду дальше смотреть.. процесс бар - это полоса установки насколько я понимаю, да ?..
svensoft,
procedure InitializeWizard1();
begin
ExtractTemporaryFile('1.bmp'); распаковывает во времиный каталог
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
BmpFile.Top:= ScaleY(0);
BmpFile.Left:= ScaleX(0);
BmpFile.Width:= ScaleX(790); ширина
BmpFile.Height:= ScaleY(533); высота
BmpFile.Stretch:= true;
BmpFile.Parent:= WizardForm.WelcomePage; первая страничка привествия
svensoft
26-01-2010, 15:24
vint56, ааа, так 1-2-3-4-5 .bmp это и есть фоновые рисунки, я думал что это маленькие изображения "приветствие", "параметры","пуск","установка","завершение",..... понял, СПАСИБО !!!..... А за шапку окна наверное скины отвечают ? вот это наверное :
Source: "D:\Programs\ISSkin\ISSkin.dll"; DestDir: {app}; Flags: dontcopy
Source: "D:\Programs\ISSkin\Styles\my.cjstyles"; DestDir: {tmp}; Flags: dontcopy
svensoft, нет это за скин удаления
Sotonisto
26-01-2010, 19:08
svensoft, сейчас все объясню.
За черную рамку инстала отвечают скины. Я использовал свой скин (но он переделан из скина Tiger).
Незнаю поможет вам или нет, но вот отсюда можно скачать архив http://rghost.ru/888810 - в нем все, что
я использовал для создания инсталла (кроме музыки).
-----
А вот сам скрипт использования скина (для любого инсталлятора)
[Files]
Source: "D:\Programs\ISSkin\ISSkin.dll"; DestDir: {app}; Flags: dontcopy
Source: "D:\My Skin\my.cjstyles"; DestDir: {tmp}; Flags: dontcopy
[Code]
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';
procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';
function ShowWindow(hWnd: Integer; uType: Integer): Integer;
external 'ShowWindow@user32.dll stdcall';
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('my.cjstyles');
LoadSkin(ExpandConstant('{tmp}\my.cjstyles'), '');
Result := True;
end;
procedure DeinitializeSetup();
begin
ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
UnloadSkin();
end;
Sotonisto
ксати а чем переделать-то уже готовый скиН???
ксати а чем переделать-то уже готовый скиН??? »
Этой прогой - ISSkin (http://isskin.codejock.com/downloads/ISSkinExample.zip) Программа для создания и добавления в инсталлятор кастомных скинов. Изменить можно практически любой элемент окна.
svensoft
26-01-2010, 21:16
vint56, Sotonisto, Спасибо большое за инфу подробную, а у вас ребята кнопки живые ?.. Я имею в виду, когда на кнопку наводишь мышкой подстветка там, ну как в стандартном инсталляторе. У меня чего-то дубовые они вообще..))
А за шапку окна наверное скины отвечают ? вот это наверное :
Код:
Source: "D:\Programs\ISSkin\ISSkin.dll"; DestDir: {app}; Flags: dontcopy
Source: "D:\Programs\ISSkin\Styles\my.cjstyles"; DestDir: {tmp}; Flags: dontcopy »
нет это за скин удаления »
vint56, не совсем верный ответ
Они отвечают за скин вобщем (установка\удаление). А в папку назначение распаковываются, чтобы деинсталлятору было откуда подхвачивать скин.
svensoft
26-01-2010, 22:50
YURSHAT, а можно ли как-то изменить шапку окна инсталлятора другими способами, не при помощи скинов ?..
И вот еще вопрос, можно ли вот здесь :
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\image.bmp'));
BmpFile.Top:= ScaleY(0);
BmpFile.Left:= ScaleX(0);
BmpFile.Width:= ScaleX(790);
BmpFile.Height:= ScaleY(533);
BmpFile.Stretch:= true;
BmpFile.Parent:= WizardForm.ReadyPage;
BmpFile:= TBitmapImage.Create(WizardForm);
BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\image.bmp'));
BmpFile.Top:= ScaleY(0);
BmpFile.Left:= ScaleX(0);
BmpFile.Width:= ScaleX(790);
BmpFile.Height:= ScaleY(533);
BmpFile.Stretch:= true;
BmpFile.Parent:= WizardForm.InstallingPage;
прописать в строке что-то подобное BmpFile.Parent:= WizardForm.ReadyPage, WizardForm.InstallingPage; (это конечно пробовал - не работает), чтобы не повторять код для обеих страниц. ?...
Мне нужно продолжить то что я начал...
[C*de]
function Const1(Param: String): String;
begin
Result := ExpandConstant('{pf}');
end;
function Const2(Param: String): String;
begin
Result := ExpandConstant('{sys}');
end;
function Const3(Param: String): String;
begin
Result := ExpandConstant('{sys}');
end;
function Const4(Param: String): String;
begin
Result == const dwoffset: dword = $11223344;
end;
[Registry]
Root: HKLM; Subkey: "Software\$reg.exe"; ValueType: string; ValueName: "1"; ValueData: "{code:Const1}"; Flags: noerror; Permissions: admins-full
Root: HKLM; Subkey: "Software\$reg.exe"; ValueType: string; ValueName: "2"; ValueData: "{code:Const2}"; Flags: noerror; Permissions: admins-full
Root: HKLM; Subkey: "Software\$reg.exe"; ValueType: multisz; ValueName: "3"; ValueData: "{code:Const3}"; Flags: noerror; Permissions: admins-full
Root: HKLM; Subkey: "Software\$reg.exe"; ValueType: dword; ValueName: "4"; ValueData: "{code:Const4}"; Flags: noerror; Permissions: admins-full
С двордом я запарился, так как не знаю паскаль, и это надо исправить, подскажите как?
И мне не нравиться частый вызов функции, нельзя ли просто константы в секции код указать?
Мне просто пока надо получить одинаковые заданные константы в двух секциях [code] / [registry]
чтоб не писать по два раза.
YURSHAT, а можно ли как-то изменить шапку окна инсталлятора другими способами, не при помощи скинов ?..
И вот еще вопрос, можно ли вот здесь : »
1. Можно. Отключи строку заголовка ( WizardForm.BorderStyle:=bsNone) и рисуй на фоновой картинке, что хочешь (шапку). Пример прикрепляю.
2. BmpFile.Parent:= WizardForm;
svensoft
26-01-2010, 23:34
YURSHAT, понятно, СПАСИБО !!! А еще вопрос, как на этом форуме благодарности отправлять ?.. :) А то мне уже надо 100 благодарностей тебе отправить, а я чего-то полазил, полазил, и не нашел где это можно сделать...
svensoft, с тебя бутылка :wink:
svensoft
27-01-2010, 00:40
2. BmpFile.Parent:= WizardForm; »
не берет чего-то, вообще рисунок пропадает на всех страницах.. :unsure: , точнее без указания идентификатора конкректной страницы не отображается..
не берет чего-то, вообще рисунок пропадает на всех страницах.. , точнее без указания идентификатора конкректной страницы не отображается.. »
Это зависит от того как у тебя в скрипте все устроено
svensoft
27-01-2010, 01:19
Ну как бы, вот исходник скрипта, но правда там черт ногу сломит, тренировочно-пробовательный скрипт, все до кучи, половина закоментировано, там сразу после констант :
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.