Хочу генерировать путь установки динамически, считывая путь игры из реестра. Если запись в реестре отсутствует, то выдавать предупреждение. Написал так:
Код:
procedure CurPageChanged(CurPageID: Integer);
var sd: string;
begin
if CurPageId = wpSelectDir then
sd := ExpandConstant('{reg:HKLM\SOFTWARE\WOW6432Node\Bethesda Softworks\Oblivion,Installed Path|{#NOT_FOUND}}');
if sd = '{#NOT_FOUND}' then
sd := ExpandConstant('{reg:HKLM\SOFTWARE\Bethesda Softworks\Oblivion,Installed Path|{#NOT_FOUND}}')
if sd = '{#NOT_FOUND}' then begin
sd := NoSD('') + '{#MyAppName}';
MsgBox('Текст предупреждения', mbInformation, MB_OK);
end
WizardForm.DirEdit.Text := sd;
end;
Текст при этом в поле пути подставляется, все хорошо.
Но потом он куда-то теряется, и на последнем экране запись о пути пустая.
Более того, путь сбрасывается при переходе на следующую страницу, причем переменная {app} имеет корректный путь.
Если я пропишу путь напрямую
Код:
WizardForm.DirEdit.Text := 'D:\Games\Oblivion';
и попробую его изменить в инсталяторе.
То на выходе путь не меняется.
Что я делаю не так?