Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 3]
SteamShip
13-01-2011, 18:52
У меня много скриптов ввода имя пользователя и пароля завтра выложу
Gnom_aka_Lexander
13-01-2011, 19:01
SteamShip, Где-ж ты был, целых полгода, когда я мучился с этим вопросом? :) Дай пример записи в реестр из кода.
R.i.m.s.k.y.
13-01-2011, 19:19
Нужно две записи в реестр делать »
var s: string;
....
s := {тут примерно так:key1.Text+-+key2.Text+-+key3.Text+-+key4.Text}
RegWriteStringValue(HKLM, 'Software\GSC Game World\STALKER-COP', 'InstallCDKEY', s);
RegWriteStringValue(HKLM, 'Software\GSC Game World\STALKER-COP', 'InstallUserName', user.Text);
RegWriteStringValue записывает переменную стринг в корень HKLM, подключ Software\GSC Game World\STALKER-COP, ключ InstallUserName, переменная стринг user.Text.
запись
function RegWriteStringValue(const RootKey: Integer; const SubKeyName, ValueName, Data: String): Boolean;
function RegWriteExpandStringValue(const RootKey: Integer; const SubKeyName, ValueName, Data: String): Boolean;
function RegWriteMultiStringValue(const RootKey: Integer; const SubKeyName, ValueName, Data: String): Boolean;
function RegWriteDWordValue(const RootKey: Integer; const SubKeyName, ValueName: String; const Data: Cardinal): Boolean;
function RegWriteBinaryValue(const RootKey: Integer; const SubKeyName, ValueName: String; const Data: AnsiString): Boolean;
чтение
function RegQueryStringValue(const RootKey: Integer; const SubKeyName, ValueName: String; var ResultStr: String): Boolean;
function RegQueryMultiStringValue(const RootKey: Integer; const SubKeyName, ValueName: String; var ResultStr: String): Boolean;
function RegQueryDWordValue(const RootKey: Integer; const SubKeyName, ValueName: String; var ResultDWord: Cardinal): Boolean;
function RegQueryBinaryValue(const RootKey: Integer; const SubKeyName, ValueName: String; var ResultStr: AnsiString): Boolean;
функции булевые, т.е. можно написать if RegWriteStringValue ... then если_записалось else не_записалось
Vitek 07
13-01-2011, 19:20
Лександер, SteamShip, качайте Inno Mega 2 (http://forum.oszone.net/post-1316172-8.html). Там этих скриптов и примеров ну очень много. Каждый найдет для себя что-нибудь, обязательно.
Gnom_aka_Lexander
13-01-2011, 19:26
Vitek 07, там ссылки нерабочие, к томуже, все эти примеры, и еще куча сверх того у меня есть, только этого нигде нету, редко у кого возникает продобная необходимость.
Gnom_aka_Lexander
13-01-2011, 19:41
R.i.m.s.k.y., А есть возможность ограничить количество знаков здесь:
key1 := TNewEdit.Create(WizardForm);
with key1 do
begin
Name := 'key1';
Parent := ISCustomPage1.Surface;
Left := ScaleX(48);
Top := ScaleY(136);
Width := ScaleX(65);
Height := ScaleY(21);
Text := 'key';{тут, вот}
end;
SCOOTERTECHNO
13-01-2011, 19:47
Лександер, Если это трудно найти, то не нужно,обойдусь без настроек сетевого профиля, вы и так мне достаточно помогли, огромная уважуха вам за это. :good:
serg aka lain
13-01-2011, 19:49
А есть возможность ограничить количество знаков здесь: »
В справку никто не смотрит чтоли?
property MaxLength: Integer; read write;
Gnom_aka_Lexander
13-01-2011, 19:50
SCOOTERTECHNO, Почти :) еще чуток осталось.
serg aka lain, я понерусски не очень, а в русской мало чего есть..
SteamShip
13-01-2011, 20:16
Запись в реестр серийного номера введенного в userinfoserial:
[setup]
userinfopage=true
(code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then
begin
RegWriteStringValue (HKLM, 'SOFTWARE\GSC\STALKER','Serial', Expand Constant
('{userinfoserial}'));
end;
end;
написал на скорую руку так что путь в реестре надо править
Скажите пожалуйста, после компиляции начинаю устанавливать игру для пробы, устанавливается, а потом при удалении игры выдает такую вот ошибку
http://i012.radikal.ru/1101/c4/ecaa431f2b77.jpg
В чем может быть проблема?
SCOOTERTECHNO
13-01-2011, 21:10
В чем может быть проблема? »
Может вы не прописали в скрипт параметры юнисталера или что то в этом роде. Попробуйте удалить все записи игры из реестра ,а потом заново переустановите игру и снова попробовать удалить игру.
Gnom_aka_Lexander
13-01-2011, 21:15
SCOOTERTECHNO,
Вот, твой скрипт :)
Только перед установкой, и ограничить количество знаков я так и не сообразил как :)
SCOOTERTECHNO
13-01-2011, 21:21
SCOOTERTECHNO,
Вот, твой скрипт »
Лександер, :yahoo: :yahoo: :) Круто!!!Огромное спасибо за труды!!!Вы настоящий праграммист, респект и уважуха! :good: :good: :good:
Gnom_aka_Lexander
13-01-2011, 21:31
SCOOTERTECHNO, Отнюдь, я тоже еще только учусь, настоящий гуру добил-бы до конца :)
serg aka lain
13-01-2011, 21:34
ограничить количество знаков я так и не сообразил как »
key1 := TNewEdit.Create(WizardForm);
with key1 do
begin
Name := 'key1';
Parent := ISCustomPage1.Surface;
Left := ScaleX(48);
Top := ScaleY(136);
Width := ScaleX(65);
Height := ScaleY(21);
Text := '';
MaxLength := 5;
end;
Gnom_aka_Lexander
13-01-2011, 21:35
serg aka lain, И больше нигде ничего не нужно дописать?
serg aka lain
13-01-2011, 21:38
И больше нигде ничего не нужно дописать? »
Во всех едитах, где нужно.
SCOOTERTECHNO
13-01-2011, 21:45
Код:
key1 := TNewEdit.Create(WizardForm);
with key1 do
begin
Name := 'key1';
Parent := ISCustomPage1.Surface;
Left := ScaleX(48);
Top := ScaleY(136);
Width := ScaleX(65);
Height := ScaleY(21);
Text := '';
MaxLength := 5;
end; »
Я уже паковать игру начал :) Мне нужно поправить скрипт? :)
Gnom_aka_Lexander
13-01-2011, 21:50
Подскажите, как сделать правильно?
[Run]
Filename: {app}\KB917607-x86.msu; WorkingDir: {app}; Parameters: " /passive /norestart"; Check: not IsWin64; Flags: waituntilterminated 32bit
Filename: {app}\KB917607-x64.msu; WorkingDir: {app}; Parameters: " /passive /norestart"; Check: IsWin64; Flags: waituntilterminated 64bit
Не работает на х64, хотя на системе х32, думаю, запустится... Ощибку выдает, чегото там не является приложением Win32...
SCOOTERTECHNO, Мне нужно править скрипт?
Там не сложно, лучше поправить, только вроде не 5 а 4 значение.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.