Благодарю!
А как можно сделать?
Если найдено одно значение а второй нет, то инсталлятор выдал сообщение и не запустился.
Если найден второе а первое нет, тоже выдал сообщение и не запустился.
Если найдены оба значения, то тоже выдал сообщение и не запустился.
Запускался бы лишь в том случае, когда эти значения были другими.
Пробовал добавлять к NetFrameWorkInstalled и MyValueData номера чтоб различались.
потом так
Код:

[*Code]
function InitializeSetup(): Boolean;
var
NetFrameWorkInstalled, MyResult: Boolean;
NetFrameWorkInstalled2, MyResult: Boolean;
MyValueData: Cardinal;
MyValueData2: Cardinal;
begin
begin
if RegQueryDWordValue(HKLM, 'SOFTWARE\Adobe\Adobe ARM\1.0\ARM', 'iCheckReader', MyValueData) then
NetFrameWorkInstalled := MyValueData = $00000000;
if not NetFrameWorkInstalled then
Result := True else
MyResult := MsgBox('Найден ключ $00000000', mbConfirmation, MB_OK) = idOk;
end;
begin
if RegQueryDWordValue(HKLM, 'SOFTWARE\Adobe\Acrobat Reader\11.0\Installer\Optimization', 'iCheckReader', MyValueData2) then
NetFrameWorkInstalled2 := MyValueData2 = $00000001;
if not NetFrameWorkInstalled2 then
Result := True else
MyResult := MsgBox('Найден ключ $00000001', mbConfirmation, MB_OK) = idOk;
end;
end;
и так
Код:

[*Code]
function InitializeSetup(): Boolean;
var
NetFrameWorkInstalled, MyResult: Boolean;
NetFrameWorkInstalled2, MyResult: Boolean;
MyValueData: Cardinal;
MyValueData2: Cardinal;
begin
if RegQueryDWordValue(HKLM, 'SOFTWARE\Adobe\Adobe ARM\1.0\ARM', 'iCheckReader', MyValueData) then
NetFrameWorkInstalled := MyValueData = $00000000;
if not NetFrameWorkInstalled then
Result := True else
MyResult := MsgBox('Найден ключ $00000000', mbConfirmation, MB_OK) = idOk;
if RegQueryDWordValue(HKLM, 'SOFTWARE\Adobe\Acrobat Reader\11.0\Installer\Optimization', 'iCheckReader', MyValueData2) then
NetFrameWorkInstalled2 := MyValueData2 = $00000001;
if not NetFrameWorkInstalled2 then
Result := True else
MyResult := MsgBox('Найден ключ $00000001', mbConfirmation, MB_OK) = idOk;
end;
всё равно не так. Больше идей нет.