Войти

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


Страниц : 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

vint56
26-01-2010, 14:11
Jerichoman,
[CustomMessages]
russian.ArcTitle=Распаковка FreeArc-архивов...

Jerichoman
26-01-2010, 14:21
vint56
Спс

vint56
26-01-2010, 14:50
это файл картинки progress1.bmp для процесс бара

svensoft
26-01-2010, 14:56
vint56, да , уже понял, спасибо, блин, чего то не нахожу там от куда он фоновую картинку берет и растягивает и где для шапки окна там код, ну да ладно, буду дальше смотреть.. процесс бар - это полоса установки насколько я понимаю, да ?..

vint56
26-01-2010, 15:12
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

vint56
26-01-2010, 15:29
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;

Tukash
26-01-2010, 20:10
Sotonisto
ксати а чем переделать-то уже готовый скиН???

YURSHAT
26-01-2010, 20:23
ксати а чем переделать-то уже готовый скиН??? »

Этой прогой - ISSkin (http://isskin.codejock.com/downloads/ISSkinExample.zip) Программа для создания и добавления в инсталлятор кастомных скинов. Изменить можно практически любой элемент окна.

svensoft
26-01-2010, 21:16
vint56, Sotonisto, Спасибо большое за инфу подробную, а у вас ребята кнопки живые ?.. Я имею в виду, когда на кнопку наводишь мышкой подстветка там, ну как в стандартном инсталляторе. У меня чего-то дубовые они вообще..))

YURSHAT
26-01-2010, 22:46
А за шапку окна наверное скины отвечают ? вот это наверное :
Код:
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; (это конечно пробовал - не работает), чтобы не повторять код для обеих страниц. ?...

semiono
26-01-2010, 23:02
Мне нужно продолжить то что я начал...
[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
26-01-2010, 23:16
YURSHAT, а можно ли как-то изменить шапку окна инсталлятора другими способами, не при помощи скинов ?..

И вот еще вопрос, можно ли вот здесь : »

1. Можно. Отключи строку заголовка ( WizardForm.BorderStyle:=bsNone) и рисуй на фоновой картинке, что хочешь (шапку). Пример прикрепляю.

2. BmpFile.Parent:= WizardForm;

svensoft
26-01-2010, 23:34
YURSHAT, понятно, СПАСИБО !!! А еще вопрос, как на этом форуме благодарности отправлять ?.. :) А то мне уже надо 100 благодарностей тебе отправить, а я чего-то полазил, полазил, и не нашел где это можно сделать...

YURSHAT
26-01-2010, 23:55
svensoft, с тебя бутылка :wink:

svensoft
27-01-2010, 00:40
2. BmpFile.Parent:= WizardForm; »

не берет чего-то, вообще рисунок пропадает на всех страницах.. :unsure: , точнее без указания идентификатора конкректной страницы не отображается..

YURSHAT
27-01-2010, 00:53
не берет чего-то, вообще рисунок пропадает на всех страницах.. , точнее без указания идентификатора конкректной страницы не отображается.. »

Это зависит от того как у тебя в скрипте все устроено

svensoft
27-01-2010, 01:19
Ну как бы, вот исходник скрипта, но правда там черт ногу сломит, тренировочно-пробовательный скрипт, все до кучи, половина закоментировано, там сразу после констант :




© OSzone.net 2001-2012