[Delphi] Kan HKCR\Installer niet openen?

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 27-11 10:50

_Thanatos_

Ja, en kaal

Topicstarter
Ik snap er niets van. Ik kan iedere key in het register openen, behalve HKEY_CLASSES_ROOT\Installer. Met regedit kan ik er alles mee doen, maar met een delphi-prog dus niet. RegOpenKeyExW (keurig met een PWideChar) geeft doodleuk return code 2 ("file not found" volgens error lookup tooltje). Nou, ik ben niet blind, die key bestaat WEL.

Met de gewone RegOpenKeyEx (en dan met een PAnsiChar) doet-ie het ook niet. HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer kan ik evenmin openen, en wederom alle andere keys wel.

De aanroep:
Delphi:
1
RetCode := RegOpenKeyExW(HKEY_CLASSES_ROOT, PWideChar('Installer'), 0, KEY_READ, TempKey);


Woe doe ik fout :? :?

日本!🎌


Verwijderd

uses Registry;

en maak gebruik van TRegistry.

linkje voor examples
Deze manier gebruik ik om aan het register te sleutelen.

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 27-11 10:50

_Thanatos_

Ja, en kaal

Topicstarter
En TRegistry doet het zonder RegOpenKey :?
Ik gebruik trouwens wel degelijk een wrapper class, maar dan een andere die wel met unicode om kan gaan. En het is RegOpenKeyEx(W) die uiteindelijk fout gaat, daarom schreef ik die op.

Maar nee, het gaat erom dat ik die key niet kan openen, niet dat ik geen RegOpenKeyEx wil gebruiken. Sterker nog, de taal maakt wrs niets uit. In C++ zou het denk ik net zo hard fout gaan.

[ Voor 13% gewijzigd door _Thanatos_ op 25-12-2006 16:36 ]

日本!🎌


Verwijderd

Misschien dat mijn demo-appje je een duwtje in de goede richting kan geven.
link

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 27-11 10:50

_Thanatos_

Ja, en kaal

Topicstarter
Ik weet heus wel hoe ik met TRegistry om moet gaan, na 8 jaar Delphi-ervaring. Je demo-appje doet dan ook tot op de byte na wat ik verwachtte: hij wil de "Installer" key niet openen.

Maar nog steeds de vraag: waarom en delphi prog niet, en regedit.exe wel, en "Add or Remove programs" ook gewoon?

日本!🎌


Verwijderd

Grappig. Hier doet hij precies wat ik wil: Ik krijg subkeys te zien van die map. Misschien moet je het commando op read-only zetten (wss zeker als je geen admin rechten hebt).

edit:

Lastig probleem, wat ik zelf al eens eerder getackled heb via cmd, omdat ik een write-filter moest configureren.
Regini.exe
Voor als dit een noodoplossing moet zijn. Succes met oplossen :)

[ Voor 42% gewijzigd door Verwijderd op 25-12-2006 17:27 ]


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 16:33

alienfruit

the alien you never expected

Inderdaad kan je niet zomaar gebruik maken van HKCR hiervoor heb je dus meer rechten nodig dan een standaard gebruiker (LUA/UAC gebeuren), vooral in Vista. Dan krijg je meteen dat elevation gezeur.
Moet je niet gebruik maken van HKCU\Installer? Ik kan het nu niet controleren omdat ik nu onder MacOSX zit te werken.

Het gedeelte van je programma die op dit niveau werkt zou je beter dus in een apart programma kun schrijven, die je vanuit het 'hoofd' programma oproept of je gebruikt een COM object.

[ Voor 22% gewijzigd door alienfruit op 25-12-2006 17:55 ]


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 27-11 10:50

_Thanatos_

Ja, en kaal

Topicstarter
Wie weet, maar regedit.exe ziet de key wel gewoon. Kun je dat ook verklaren?

Bovendien ben ik een administrator...
Misschien moet je het commando op read-only zetten
Kijk es in m'n startpost... juist: readonly.

/edit
Even later zag ik met Regmon (onderdeel van) het probleem. Ik draai dus XP x64 en het OS zegt voor mij eventjes de zaak te gaan vertalen. Nee DAN werkt het niet (screenshotje) |:(

[ Voor 67% gewijzigd door _Thanatos_ op 25-12-2006 23:23 ]

日本!🎌


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 27-11 10:50

_Thanatos_

Ja, en kaal

Topicstarter
Aha, blijkt dus dat je KEY_WOW64_64KEY moet meegeven bij het openen van de key. TRegistry kun je dan dus niet gebruiken, want die doet dat niet. Maar mijn zelfgemaakt super-TRegistry met unicode-support en andere coole shit, doet dat nu wel :)

日本!🎌


  • Robbemans
  • Registratie: November 2003
  • Laatst online: 17-07 20:01
@_Thanatos_:

Wat ben jij goed zeg! Met wel 8 jaar Delphi ervaring kom je iedereen die jou probeert te helpen even vakkundig duidelijk maken dat je het allemaal wel weet. Waarom open je toch een topic als je zo goed bent? :?

En dan ook: als je echt zo'n kei bent, waarom deel je de code van je super 64-bit compatibel TRegistry niet even? Er zullen wellicht meer guru's tegen dit probleem aanlopen.

Je bent erg actief op GOT, maar deze taal in dit topic vind ik een beetje beneden peil.
Pagina: 1