Skrivning til Registry i en Delphi .NET-applikation

Tags:    delphi

Jeg har lavet en test-applikation til .NET i Delphi 2005 - som rent kodemæssigt gør nøjagtigt det samme som en tilsvarende Win32-applikation:

var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
with Reg do
begin
OpenKey('Software\\SoDS',true);
WriteString('CurrentUser','Carsten Skov Teisen');
WriteString('CurrentUserRole','Administrator');
Free;
end;
end;

.NET-udgaven giver imidlertid en fejl:

---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe encountered unhandled exception class System.Security.SecurityException with message 'Request for the permission of type System.Security.Permissions.SecurityPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.'.

Hvorfor mon det?


mvh.
Carsten Skov Teisen



5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato

Mangler du ikke at angive hvilken key den skal åbne (CURRENT_USER, LOCAL_MACHINE) ? hvis det ikke er tilfældet skal du huske på at den bruger der retter i LOCAL_MACHINE skal være administrator

(¯`·._.·[Brian Hvarregaard]·._.·´¯)




Mangler du ikke at angive hvilken key den skal åbne (CURRENT_USER, LOCAL_MACHINE) ? hvis det ikke er tilfældet skal du huske på at den bruger der retter i LOCAL_MACHINE skal være administrator

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Jo, han mangler RootKey, eksempel:
Fold kodeboks ind/udKode 


Dette har intet med .NET at gøre, det skal du også i alle Win32 versioner.

1101110100010110000101000001

Husk, det kræver 42 muskler at se sur ud, det kræver kun 6 at slå idioten ned...

[Redigeret d. 04/01-05 13:54:23 af Nicolai Lyster Fersner]



Skal man egentlig bruge CloseKey; ?







-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d- s: a--- C++ W++ w PS X+ tv+ b D G e- h! !r z--
------END GEEK CODE BLOCK------



Det er ikke nødvendig å spesifisere RootKey, da den settes som standard til HKEY_CURRENT_USER ved OnCreate.

-------------------------------------
I am AGAINST TCPA!!
[ http://www.againsttcpa.com/ ]
-------------------------------------
Mvh
DiZpel



Skal man egentlig bruge CloseKey; ?







-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d- s: a--- C++ W++ w PS X+ tv+ b D G e- h! !r z--
------END GEEK CODE BLOCK------


Du må ikke bruke CloseKey om du ikke skal åpne en annen nøkkel. Hvis du har åpnet nøklen 'Reg', og vil åpne nøklen 'Reg/test', så trenger du ikke å bruke CloseKey, kun OpenKey('test');
-------------------------------------
I am AGAINST TCPA!!
[ http://www.againsttcpa.com/ ]
-------------------------------------
Mvh
DiZpel



t