PDA

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

Jerichoman
25-01-2010, 13:30
Вот такая проблема, не отображается иконка музыки в углу http://i066.radikal.ru/1001/54/ea0c89c0697at.jpg (http://radikal.ru/F/i066.radikal.ru/1001/54/ea0c89c0697a.jpg.html)
И почему-то выбор директории установки отображается белым шрифтом http://s48.radikal.ru/i120/1001/35/e4ffbbf3e490t.jpg (http://radikal.ru/F/s48.radikal.ru/i120/1001/35/e4ffbbf3e490.jpg.html)

Tukash
25-01-2010, 13:34
Jerichoman
а у тебя кнопка есть для музыки?

YURSHAT
25-01-2010, 13:40
Tukash, Шрифт задается для каждого отдельного элемента, а не в общем для всего инсталла.

И почему-то выбор директории установки отображается белым шрифтом »
DirEdit.Font.Color:=ClBlack ;

Jerichoman
25-01-2010, 13:42
Tukash
Да, брал из этого скрипта

Cranz86
25-01-2010, 13:46
Народ помогите, критичная проблема. Вот часть кода...
ToolbarCheck := TCheckBox.Create(ToolbarPage);
with ToolbarCHeck do
begin
ToolbarCheck.Top := ToolbarImage.Top + ToolbarImage.Height + ScaleY(12);
ToolbarCheck.Left := ScaleX(12);
ToolbarCheck.Caption := 'Install the Realore Toolbar (recommended)';
ToolbarCheck.Parent := ToolbarPage.Surface;
ToolbarCheck.Width := 380;
ToolbarCheck.State := cbChecked;
end;

SearchCheck := TCheckBox.Create(ToolbarPage);
with ToolbarCHeck do
begin
SearchCheck.Top := ToolbarImage.Top + ToolbarImage.Height + ScaleY(32);
SearchCheck.Left := ScaleX(12);
SearchCheck.Caption := 'Make the Realore web search my default search';
SearchCheck.Parent := ToolbarPage.Surface;
SearchCheck.Width := 390;
SearchCheck.State := cbChecked;
end;

HomeCheck := TCheckBox.Create(ToolbarPage);
with ToolbarCHeck do
begin
HomeCheck.Top := ToolbarImage.Top + ToolbarImage.Height + ScaleY(52);
HomeCheck.Left := ScaleX(12);
HomeCheck.Caption := 'Make the Realore web search my homepage';
HomeCheck.Parent := ToolbarPage.Surface;
HomeCheck.Width := 100;
HomeCheck.State := cbChecked;
end;
Как сделать первый (ToolbarCheck) чекбокс "главным". Что бы убирая его, 2 и 3 чекбосы делались некликабельными и не устанавливались.

Jerichoman
25-01-2010, 14:18
Tukash
Так что нужно чтобы отображалась иконка музыки?

mariolast
25-01-2010, 14:19
Нужно записать в реестр бинарное значение такого типа
'04 08 0E 01 58 04 0F 16 00 00 00 00 00 00 D3 B6 95 15 20 00 0A 00 11 11 11 11 42 42'
Если из секции [Registry] заносить, то проблем нет
Но мне надо из кода....
Пробую так
...
Var
Reg1: String;
RegArray:array of string;
begin
Reg1:= '04 08 0E 01 58 04 0F 16 00 00 00 00 00 00 D3 B6 95 15 20 00 0A 00 11 11 11 11 42 42'
RegWriteBinaryValue (HKLM, 'SYSTEM\CurrentControlSet\MultiKey\Dumps\9E4E58E8', 'Data', Reg1);
.....
А оно заносит какую-то хрень в реестр, не то что надо... »

Всё правильно она заносит. Просто строка конвертируется в HEX данные.
Попробуйте запишите Reg1:= 'mariolast' и вы увидите в реестре "Data"=hex:6d,61,72,69,6f,6c,61,73,74. »

Я знаю что правильно, но как занести правильно в уже готовом HEX виде? Конвертировать Reg1 в строку а потом уже заносить?

Думал использовать фичу типа
Root: HKLM; Subkey: SYSTEM\Dumps; ValueName: Data; ValueType: Binary; ValueData:"{code:Reg}", не проканало, ибо тип Binary стоит.обновление

Tukash
25-01-2010, 14:31
Jerichoman ой забыл сорри:
[Files]
Source: C:\MusicButton.bmp; DestDir: {tmp}; Flags: dontcopy
написано?

serega355
25-01-2010, 14:32
Не подскажите, как сделать чтобы одна картинка отображалась вначале установки, а совсем другая в конце.
Код:
WizardImageFile=D:\Игромания\Grand Theft Auto Racing Driver\data\Icons\GTA RD.bmp
WizardImageStretch=yes

При этом коде одна и та же картинка показывается. Что нужно добавить?

svensoft
25-01-2010, 15:50
Подскажите, как можно на странице Ready изменить расположение текста PageNameLabel, PageDescriptionLabel, ReadyLabel, а так-же придать каждому из них свой цвет, размер и стиль шрифта ?.. Например PageNameLabel (размер шрифта 16, цвет белый, жирный, стиль times new roman), PageDescriptionLabel (размер 12, цвет синий, стиль comic sans ms) ......... ???

Jerichoman
25-01-2010, 15:58
Tukash
да, все это есть, даже кнопка создается, но там нет картинки, нужно чтобы имя было MusicButton.bmp? просто я переименовал файл

Tukash
25-01-2010, 16:00
скажите как сменить расположение всех кнопок? подвинуть хочу, и еще WizardImage как его НЕМНОГО растянуть??

Jerichoman
да, иначе в скрипте все надо изменять так как называеться она у тебя!

R.i.m.s.k.y.
25-01-2010, 16:11
Как в скрипте узнать какая видеокарта у человечка? Ultimate Test.iss смотрел, но не помогло, в секции "Видеоадаптер" вконец запутался. Результатом достаточно получить стринговую переменную с именем видеокарты.

Заранее спасибо!

Jerichoman
25-01-2010, 16:11
Tukash
В том-то и дело что везде менял :( а она все равно не появляется

Vengeance
25-01-2010, 17:39
Здравствуйте... Прошу прощения, я знаю, что это вероятно уже обсуждалось и не один раз. Но сил уже искать и т.п. нет просто :D

Так вот... В Inno Setup Я полный новичок, поэтому прошу помочь и все расписать по полочкам.

Мне нужен скрипт установки компонентов, как вот этот(он идет после указания пути):

http://s002.radikal.ru/i198/1001/39/8d80683eaf1b.jpg


Если не выбран пункт Half-Life non Steam, то остальные пункты тоже недоступны.

ЗЫ в этом инсталляторе было так:

Half-Life - (папка)Half-Life
Blue Shift - Half-life/bshift
Opposing Force - half-life/gearbox
и т.д.

Вообщем, как сделать вот такой вот скрипт?

Также еще хочу узнать, как осуществить вот это, к примеру:

Установить модели 1
Установить модели 2
Установить модели 3

Можно выбрать только 1 из пунктов, но как бы вот в чем загвоздка для меня:

1. Все модели из этих пунктов носят одинаковые имена и должны носить их.
2. И все они лежат в одной и той же папке и должны лежать только там.
Собственно куда тогда поместить модели, чтобы при пункте устанавливались определённые?

Заранее спасибо. Жду ясного для себя и подробного ответа

Tukash
25-01-2010, 17:52
Vengeance
это по:Также еще хочу узнать, как осуществить вот это, к примеру: »
[Components]
Name: lng; Description: Выберите:; Flags: fixed; Types: custom
Name: lng/ru; Description:Установить модели 1; Flags: exclusive
Name: lng/en; Description: Установить модели 2; Flags: exclusive
Name: lng/fr; Description: Установить модели 3; Flags: exclusive

[Files]
Source: C:\mod1\*; DestDir: {app}\; Components: lng/ru; Flags: recursesubdirs ignoreversion sortfilesbyextension createallsubdirs
Source: C:\mod2\*; DestDir: {app}\; Components: lng/en; Flags: recursesubdirs ignoreversion sortfilesbyextension createallsubdirs
Source: C:\mod3\*; DestDir: {app}\; Components: lng/fr; Flags: recursesubdirs ignoreversion sortfilesbyextension createallsubdirs
PS на lng не обращай внимания:)

Vengeance
25-01-2010, 17:57
Сейчас попробую. Спасибо.

P.S. Если кто зарегистрирован в ICQ, добавьте меня(вдруг еще вопросы возникнут, так может узнаю по ICQ): 8426401

mariolast
25-01-2010, 18:00
У кого есть кода для перевода HEX строки в десятичный тип? Попробую таким образом работать с бинарным значением в реестре

svensoft
25-01-2010, 18:08
Какой из этих парамметров отвечает за прижименае текста ("прижимать влево", "прижимать вправо", "по середине"), или может какой-нить другой ?..


PageNameLabel := TLabel.Create(WizardForm);
PageNameLabel.Left := ScaleX(25);
PageNameLabel.Top := ScaleY(10);
PageNameLabel.Width := ScaleX(300);
PageNameLabel.Height := ScaleY(14);
PageNameLabel.AutoSize := False;
PageNameLabel.WordWrap := True;
PageNameLabel.Font.Color := clBlack;
PageNameLabel.Font.Style := [fsBold];
PageNameLabel.Transparent := True;
PageNameLabel.Parent := WizardForm.MainPanel;

или просто, как можно сделать, чтобы текст прижимался"по середине" ?..

Tukash
25-01-2010, 18:11
Serega
такой тупой вопрос, можно-ли растянуть окно инсталлятора, но что-бы оно не просто расширилось, а та часть каторую я расширю сразу была со шрифтом, кнопками и т.д.(была рабочей), а то блин, тот код который ты дал, просто расширил окно, теперь надо двигать все вручную, вот подумал можно-ли облегчить...




© OSzone.net 2001-2012