Moinsen!
Das Problem ist folgendes: Ein und das selbe Programm (ohne Adminrechte ausgeführt) kann, wenn es auf der 2. Partition (D:, NTFS, alle Rechte vorhanden) liegt nicht in
HKCU schreiben. Liegt es auf der 1. Partition (C:, System-Partition, NTFS) geht alles glatt.
Zum Testen nehme ich folgenden Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Reg : TRegistry;
begin
Reg := TRegistry.Create(KEY_ALL_ACCESS);
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('Software\SPP', true) then
reg.WriteString('Test', 'Ich war hier')
else
RaiseLastOSError;
reg.Free;
end;
Liegt das Programm auf C: geht alles glatt. Liegt es auf D: liefert RaiseLastOSError
Code:
Ein Aufruf einer Betriebssystemfunktion ist fehlgeschlagen.
Habt ihr eine Idee?
Btw: Das ist das Grund für
diesen Thread.
//edit: Interessant ist auch, das der Anlagen-Mananger eine Sicherheitswarnung für alle Programme (*.exe) bringt, wenn sie auf der 2.Partition liegen. Ich weiß zwar, wie man das abschaltet, aber das muss doch einen Grund haben. Normalerweise passiert das doch nur bei Netzlaufwerken.