Войти

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

Gnom_aka_Lexander
10-05-2011, 16:06
Вот сама ошибка а именно белый фон на концовке установки. Как его убрать? »
Держи пример - нужно скрыть Ран-лист и создать свой чекбокс, который выполнит эту функцию.

ChVL
10-05-2011, 19:08
Как прописать атрибут файла Только чтение? В строку Source: добавляю Permissions: everyone-readexec, но ничего не происходит. Что ещё не хватает или как правильно?
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
P.S. Зашёл в топик и сразу был ошарашен: куда я попал?? - "Мня", "ща", "тока"... С каких пор здесь процветает падонкавский жаргон?

Gnom_aka_Lexander
10-05-2011, 19:27
Как прописать атрибут файла Только чтение? »
[Files]
Source: My_file; DestDir: {app}; Attribs: readonly
Зашёл в топик и сразу был ошарашен: куда я попал?? »
этож модно, ниче ты не понимаеш :) А если серьезно - школота уже второй форум загаживает...

Bond01
10-05-2011, 20:34
Подскажите: Как внести данные(скрипт) в реестр(ключ), после установки программы, например с помощью рег-файла чтобы инсталятор искал рядом этот файлик, а потом тихо запускал или с помощью Inf или еще как то?
Это решение нужно для аддона, чтобы пользователи могли вносить свои ключи.

Gnom_aka_Lexander
10-05-2011, 20:56
Bond01, Можно вот так:
procedure CurStepChanged(CurStep: TSetupStep);
var
reg,RegEdit: string;
ResultCode: Integer;
begin
if CurStep = ssDone then begin //по окончании установки
RegEdit := ExpandConstant('{sys}\reg.exe');// вызов консольной системной утилиты для работы с реестром
reg := ExpandConstant('{src}\') + 'reg.reg'; // берем рег-файл рядом с инсталлом
Exec(RegEdit, ' import ' + ' ' + AddQuotes(reg),ExpandConstant('{src}'),SW_HIDE, ewWaitUntilTerminated, ResultCode); // импортируем файл реестра
end;

поправил пример - была ошибка - CurStepChanged6 - опечатался :) Правильно CurStepChanged

Bond01
10-05-2011, 21:09
Лександер,
Пишет - Неизвестный идентификатор "RegEdit"
http://s45.radikal.ru/i109/1105/7a/4c376d7b1a3f.jpg

Gnom_aka_Lexander
10-05-2011, 21:38
Bond01, извиняюсь :)
procedure CurStepChanged(CurStep: TSetupStep);
var
reg,RegEdit: string;
ResultCode: Integer;
begin
if CurStep = ssDone then begin //по окончании установки
RegEdit := ExpandConstant('{sys}\reg.exe');// вызов консольной системной утилиты для работы с реестром
reg := ExpandConstant('{src}\') + 'reg.reg'; // берем рег-файл рядом с инсталлом
Exec(RegEdit, ' import ' + ' ' + AddQuotes(reg),ExpandConstant('{src}'),SW_HIDE, ewWaitUntilTerminated, ResultCode); // импортируем файл реестра
end;

solvador
10-05-2011, 21:41
Лександер reg тоже надо добавить

Serega
10-05-2011, 22:16
Конечно же это извращение... Так кто подскажет как нормально сделать? »
Конечно :) самое быстрое, это прочитать файл в строку и найти искомое значение через Pos(SubStr, S: String): Integer;
Таких примеров я не встречал »
Всё просто


function ReadFromFile(const FileName, SearchStr: string): Integer;
var
FS: TFileStream;
Buf: AnsiString;
begin
Result := -1;
if not FileExists(FileName) then Exit;
FS := TFileStream.Create(FileName, fmOpenRead);
try
Buf := StringOfChar(#32, FS.Size);
FS.Seek(0, soFromBeginning);
FS.ReadBuffer(Buf, FS.Size);
Result := Pos(SearchStr, Buf);
finally
FS.Free;
SetLength(Buf, 0);
end;
end;

function InitializeSetup(): Boolean;
begin
MsgBox(IntToStr(ReadFromFile(ExpandConstant('{src}\test.bin'), #$C7#$46#$04#$00#$00#$18#$00)), mbInformation, MB_OK);
end;

Unhero
11-05-2011, 12:21
Добрый день, всем, поиском пользовался, но совершенно безрезультатно, суть проблемы в следующем, скрипт созданный Inno Setup должен запустить ещё один инсталлятор, и автоматически нажать все кнопки <Next>, поставив галочку в "Лицензии", возможно ли такое, если есть пример, если нет дайте хотя бы линк где копать. Пробовал разные параметры, вроде /SILENT и /VERYSILENT - не помогло.

Unhero
11-05-2011, 13:35
Neutron, дело в том, что я не могу установить, какой у меня тип инсталлятора, поэтому какие я только параметры не подставлял (http://wiki.oszone.net/index.php/%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_%D0%B0%D0%B2%D1%82%D0%BE%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0 %BE%D0%B2%D0%BA%D0%B8)

Unhero
11-05-2011, 14:59
Neutron, не помогла программка, выдаёт нечто:

USSF detected that the file you selected is a valid PE file.
However, it couldn't identify its type.
The header returned by PEiD was 'Install Stub 32-bit -> InstallShield [Overlay]'

Bond01
11-05-2011, 15:36
Лександер, опять что-то не то, выдает ошибка компилятора неожиданный конец файла.
Разобрался :)
end;
end;
Спасибо.

solvador
11-05-2011, 15:47
Конечно самое быстрое, это прочитать файл в строку и найти искомое значение через Pos(SubStr, S: String): Integer; » Спасибо за отличный пример :up

insombia
11-05-2011, 20:20
Как сделать чтобы когда создался инсталятор розделеный припустим на 4 диска то его название было setup-1,setup-2,setup-3, setup-4, а не setup-а, setup-b,setup-c,setup-d ?

LinkOFF
11-05-2011, 21:25
Можете мне пожалуйста соеденить два скрипта в один а то у меня чего-то не получается
http://forum.oszone.net/attachment.php?attachmentid=63952&stc=1&d=1305134630

LinkOFF
11-05-2011, 21:28
insombia в секции [setup] есть параметр SlicesPerDisk(SlicesPerDisk=2) поставь на 1

lletol
12-05-2011, 01:37
Здравствуйте, подскажите пожалуйста как можно сделать так, что б при установке скрипт проверял установлена ли программа и если программа установлена, то предлагала обновить ПО , устанавливая только некоторые компоненты из инсталлятора. Заранее спасибо

Unhero
12-05-2011, 08:56
Neutron, то есть определить ключи не возможно?

Unhero
12-05-2011, 09:53
кстати PEid выдаёт что инсталлятор - Gentee Installer Custom [Overlay] *, но под него не могу найти ключ, сколько не копаю




© OSzone.net 2001-2012