![]() |
Re: Registry-Probleme unter Vista
Und genau den Grund wirst Du mir TRegINIFile niemals erfahren, da diese Klasse - genau wie Du selbst - davon ausgeht, dass HKCU IMMER beschreibbar ist. In Deinem Eingangsposting beschriebst Du, dass dies bei einigen Deiner Anwender offenbar nicht er Fall ist. Damit ist diese Grundannahme der prinzipiellen Fehlerfreiheit falsch. Diese Klasse scheitert, wenn sie nicht auf die von ihr (und Dir) erwartete Situation trifft und ist dann aber leider nicht in der Lage, den Fehler näher zu beschreiben.
Wenn dieses Thema noch weiter ins Skurrile abdriftet, werde ich es im Laufe des Tages schließen. Ich für meinen Teil habe von fachlicher Seite alles dazu gesagt. |
Re: Registry-Probleme unter Vista
Zitat:
Zitat:
Was ich im Eingangsposting gesagt habe ist, daß einige Vista Nutzer (eventuell) Probleme haben und ich weiß nicht ob das mit einer geänderten Rechtemanagement bei Vista zu tun hat. Hast du dir nur 5 Minuten Gedanken dazu gemacht? Ich meine keinen Annahmen, sondern Gedanken. Ich helfe dir - mach dir mal Gedanken über die HKCU. Guck wo die gespeichert ist und welche Zugriffsrechte eingestellt sind. Dann überlege wo TRegIniFile zugreift. Wenn du all das erkannt hast, dann wirst du es verstehen. Zitat:
Zitat:
Zitat:
|
Re: Registry-Probleme unter Vista
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
Für Freunde von Fehlermeldungen habe ich auch eine Überraschung (siehe RegMon2 - PNG-Bild). Bei dem Experiment habe ich dem Konto die Rechte über den Pfad entzogen. Was passiert? Es gibt eine Fehlermeldung. Die TRegIniFile schließt daraufhin korrekt. Ist auch klar, in Create ist OpenKey integriert und wenn das nicht klappt, dann gibt es eine Fehlermeldung. Also, Hurra, es gibt eine Fehlermeldung wenn der Zugriff verweigert wird. Alle zufrieden? Und sagt mir jetzt nicht, daß ihr auch noch jeden Write-Vorgand einzeln in eine try except Routine packt. Das glaube ich dann doch nicht. Also meine liebe Leute, wir haben jetzt ein Tag über etwas diskutiert, was sich zuletzt ganz anders aussieht. TRegIniFile gibt wohl eine Fehlermeldung wenn sie nicht zugreifen kann. ok, ich will nicht zu wild in die Wunde mit dem Finger drücken, da ich es selbst auch nicht gewusst habe, bzw. gewußt habe ich es schon, denn jede TIni.Create gibt auch eine Fehlermeldung wenn sie nicht auf die Ini zugreifen kann, aber es ist mir eben nicht eingefallen. Alles ist jetzt in Butter, Fehlermeldung ist da, wir habe ein Tag um nichts gestritten und ich möchte um die vertarne Chance nachtrauern, weil wir nicht darüber diskutiert haben ob Vista es anders handhabt. Schade, hätte ich gerne gewußt. Vor allem widos Screenshots zeigen bei Vista ein Chaos. Wäre interessant zu erfahren warum das ist war. |
Re: Registry-Probleme unter Vista
Liste der Anhänge anzeigen (Anzahl: 1)
Übrigens wido, ich gab dien Experiment gerade überprüft. Wenn Rechte fehlen gibt es eine Fehlermeldung. Ich weiß nicht was du vermißt?
EDIT: Ich hab mir widos Process Monitor geladen, weil ich den Unterschied sehen wollte. Auch mit dem Programm gab es keine Probleme. Alles Success (siehe Anhang - PNG Bild). Anscheinend ist es ein Vista Problem. Wäre schön gewesen darüber zu reden, weil es etwas gebracht hätte, aber über Vorzüge und Nachteile von TRegIniFile zu reden macht auch Spaß. |
Re: Registry-Probleme unter Vista
Mir fallen spontan 3 mögliche Fehlerquellen ein:
- HIPS/AV Software verbietet Zugriffe auf Registry Keys. Das reicht von einer hardcoded List über eine User supplied List bis hin zu diversen "Zonenmodellen" bei denen Software solange der Zugriff verwehrt wird, bis sie "approved" wurden durch den User. Kannst Du garantieren, daß eine AV oder HIPS Software sich nicht vielleicht mal an einem deiner Namen stört und den Zugriff verweigert? - Die Registry APIs haben recht lustige Bugs, die gerne mal von verschiedenen Kopierschutzsystemen genutzt werden. Z.B. eingestreute 0 Bytes. Ausserdem neigen bestimmte Sprachversionen (Chinesisch, Russisch, etc.) bei Verwendung von Sonderzeichen (äöü²³ etc.) und den Registry ANSI APIs fehlzuschlagen und ein ähnliches Verhalten zu zeigen, wie bei geänderten Rechten. Kannst Du garantieren, daß Du keine ausländischen User hast, die evtl. Windows Version mit nem Multi Byte Zeichensatz fahren? Kannst Du garantieren, daß Deine User z.B. keine OODEFRAG Produkte einsetzen, die nicht ansprechbare Registry Keys mit "embedded" 0 Bytes erstellen? - User. User sind immer Fehlerquellen. Du glaubst nicht ernsthaft ich bin der einzige da draussen, der mit Registry Berechtigungen rumspielt, oder? Willst gar nicht wissen, wieviele "Tweakseiten" lustige Tweaks veröffentlichen, die darauf basieren am Ende Windows selbst auszusperren indem man lustig an den ACLs rumfummelt. Sowas wird Dir teilweise sogar offiziell von MS vorgeschlagen ;). Das Problem beim "user proof software design" ist halt, daß man den User immer wieder unterschätzt :P. Mir ist es letztlich ja relativ gleich was Du machst und was nicht. Der Fehler existiert unter Vista. Ich hab Dir gesagt wie Du ihn reproduzieren kannst. Ich hab Dir gesagt, wie Du an eine Testversion für Vista kommst, so daß Du es nicht kaufen musst und trotzdem Deine Software unter Vista testen kannst innerhalb einer virtuellen Maschine. Die anderen haben Dir gesagt, was Du bei einem Neudesign deiner Unit beachten solltest. Wenn Du Fehlermeldungen nicht magst, kannst Du sie weiterhin unterdrücken. Ich würde sie aber zumindest via OutputDebugInfo ausgeben, um sie im Zweifelsfalle z.B. mit DebugView von Sysinternals dann doch sehen zu können. Ansonsten zieh ich mich dann auch aus dem Thread zurück. Meinen Bugreport haste ja. |
Re: Registry-Probleme unter Vista
Zitat:
Und was redest du hier immer davon dass deine Unit unter XP tadellos funktioniert? Ich dachte unter Vista gibt es Probleme? Und warum gibt es plötzlich keine Probleme mehr mit dem Speichrn? Im ersten Posting klang das ganz anders. Zitat:
Zitat:
|
Re: Registry-Probleme unter Vista
Bei der Comodo-Firewall kann man ein "Defense" einschalten, das für jeden Registry-Schreibzugriff eine Bestätigung haben will, die Anwort merkt sich dieses "Defense" dann und frägt für das entsprechende Programm nicht mehr nach.
widos Vermutung in #86 scheint mir in die richtige Richtung zu gehen, daß auf den paar Rechnern der betroffenen Vista-User Sicherheitssoftware rumfummelt. Frag mal bei Deinen Usern nach... TRegIniFile kannte ich noch nicht, scheint mir aber für manche Sachen recht bequem zu sein. Heute doch noch was gelernt :zwinker: |
Re: Registry-Probleme unter Vista
Hi,
ich hab mir jetzt ehrlichgesagt nicht den ganzen Thread durchgelesen und weiß nicht ob es schon eine Lösung gab. Aber ich stand kürzlich vor einem ähnlichen Problem und konnte dass dann letztendlich lösen. Ich schreibe ein Tool um die IP-Adressen von Druckerports auf meinen Netzwerkclients übers Netz zu ändern weil ich demnächst die IP-Adressen unserer Firmendrucker ändern muss und sonst an jeden PC einzeln hinmüsste. Dazu musste ich u.a. nach HKLM schreiben was mir beim Schreiben von Werten immer eine Exception auswarf. Ich habe das dann so lösen können: 1. Vista-Manifest ändern nach requiredPrivileges=highestAvailable. 2 vor jedem reg.OpenKey die benötigten Rechte mit reg.Access := <z.B. KEY_ALL_ACCESS> So hat das dann bei mir funktioniert. Soll nur ein Denkanstoß sein, ob es in Deinem Fall richtig ist das dein Programm direkt highestAvailable anfordert kann ich nicht beurteilen - aber es funktioniert :) Gruß Michl |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz