Jak zmodyfikować ten nieszczęsny klucz w rejestrze Windows 7 i 8.1

0

Piszę w Delphi standardowy kod do zapisania klucza w rejestrze Windows i nie działa. Żadnego wyjątku, komunikatu, nic. Coś mnie trafia! Klucz "iexplore.exe" pozostaje niezmieniony.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN

Moim celem jest wyłączenie tych nikomu niepotrzebnych zabezpieczeń (jestem starym DOS'owcem i wkurza mnie to co MS wymyśla). UAC i inne bzdury oczywiście wyłączone.
Co gorsze, nawet po eksporcie klucza do pliku a.reg i zmianie wartości a następnie imporcie (tylko Windows) też nie działa.

Jak spowodować aby aplikacja w Delphi mogła zmienić ten klucz? "Uruchom jako Administrator" też nie działa.

procedure TMainForm.SetRegistryConfiguration;
const
  Info  = 'Writing registry key config. Key: %s | Value: %s=%s';
  Error = 'Error writing registry key config. Key: %s | Value is still: %s=%s';
var
  Reg: TRegistry;
  Key, Name: string;
  Val_int: integer;
begin
  Reg := TRegistry.Create;
  try
   Reg.RootKey := HKEY_LOCAL_MACHINE;
   Key := 'SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN';
   if Reg.OpenKey(Key, True) = True then
    try
     Name := 'iexplore.exe';                     // Zapisanie
     MakeLog(Format(Info,[Key, Name, '0']), 2);
     Reg.WriteInteger(Name, 0);
     Val_int := Reg.ReadInteger(Name);    // Sprawdzenie czy się zapisało
     if Val_int <> 0 then MakeLog(Format(Error,[Key, Name, IntToStr(Val_int)]), 0);
    finally
     Reg.CloseKey;
    end;
  finally
   Reg.Free;
  end;
end;
1
uses Registry;

procedure TForm1.Button1Click(Sender: TObject);
const
  KEY_WOW64_64KEY = $0100;
  REG_KEY = 'SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN';
  REG_VAL_NAME = 'iexplore.exe';
var
  Reg: TRegistry;
begin
  Reg:= TRegistry.Create(KEY_WRITE or KEY_WOW64_64KEY); //pod win64 KEY_WOW64_64KEY!!!
  try
    Reg.RootKey:= HKEY_LOCAL_MACHINE;
    if Reg.OpenKey(REG_KEY, False) then
    begin
      Reg.WriteInteger(REG_VAL_NAME, 0);
      Reg.CloseKey;
    end;
  finally
    Reg.Free;
  end;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1