![]() |
AW: TRegistry Unterschied zwischen Delphi 7 und 2009
Womit sich die Frage stellt was vor einem Monat passiert ist?
Gehen wir mal davon aus, dass der Fehler nicht im Code ist, denn sonst würde auch mein Dreizeiler nicht funktionieren, muss das Problem irgendwo anders liegen. Hättest du Probleme eine Datei zu erstellen, wäre die Sache klar, das liegt an den Rechten des Kontos über den Ordner. Übrigens, man kann auch die Rechte von Administratoren reduzieren, nur das schöne ist, sie können sich, soweit man sich wiederum nicht das Recht Rechte zu ändern entzogen hat, die Rechte wieder geben. Also Administrator-Rechte alleine sagen nichts auf. Auf der anderen Seite hast du ein Bild gepostet und danach sollte alles ok sein. Übrigens, fast ähnlich wie im Explorer, kann man auch Rechte in Regedit vergeben und entziehen. Es wäre somit interessant zu sehen was die einzelnen User für Rechte in Regedit haben. Kommen wir von FAT32 Lw D: zu NTFS Lw C:. Erstellst du das Programm auf Lw D:, erstellst du es im Grunde unter dem Benutzer "Jeder". Kopierst du es (nicht verschieben) auf Lw C:, müssten im Grunde die Rechte des aktuellen Nutzers angenommen werden. Kommen wir zu einer unwahrscheinlichen aber durchaus möglichen Möglichkeit. Ich beziehe mich hier auf die unterschiedlichen Dateien unter Lw D: und Lw C:. Theoretisch könnte ja sein, dass man keine Leserechte an einer Unit hat. Das Problem wäre in dem Fall nicht der Ordner in dem du etwas kompilierst, sondern der Zugriff auf einen anderen Ordner, z. B. in Programme. Die Möglichkeit hat aber einen Hacken: ich dem Fall dürftest du auch nicht korrekt auf Lx D: kompilieren. Ich empfehle dir noch einen Test. Geh unter Systemsteuerung auf Benutzer. Erstelle zwei Konten. Das eine Shark99A mit Standardrechten. Dabei geht nichts kaputt, du kannst das Konto anschließend inkl. erstellte Dateien wieder löschen. Dann erstellst du noch ein zweites Konto, Shark99B, mit Administratorrechten. Geh dann auf "Einstellung der Benutzerkontensteuerung" und stelle alles runter (es wird nichts mehr geblockt). Sollte das das Programm bereits mit Shark99A funktionieren, ist in deinem Standardkonto etwas mit den Rechten durcheinander. Sollte es bei Shark99B funktionieren, wird da etwas geblockt. |
AW: TRegistry Unterschied zwischen Delphi 7 und 2009
Zitat:
Gruß K-H |
AW: TRegistry Unterschied zwischen Delphi 7 und 2009
Habe einen neuen Admin-User erstellt und er hat genau das gleiche Problem. Habe dazu noch bemerkt dass es sich nicht nur um ein Registry Problem handelt, sondern Dateien können auch nur gelesen, aber nicht geschrieben werde. D.h. eine Exe die von einem Verzeichnis gestartet wird, bei dem der Parent nicht älter als 07.04.2015 ist hat nur Lesezugriff auf die gesamte Festplatte. Ich werde wohl um eine Neuinstallation von Windows drin drumherum kommen. Warte aber wohl noch auf Windows 10.
|
AW: TRegistry Unterschied zwischen Delphi 7 und 2009
Ich blicke nicht mehr durch. Könntet du mal bitte eine Zusammenfassung der bisherigen Erkenntnisse verfassen?
Aber wenn es um die Registry geht, spielen doch Verzeichnisrechte keine Rolle. :roll: Guck dir mal in der Registry an wer welche Rechte für den Schlüssel hat. |
AW: TRegistry Unterschied zwischen Delphi 7 und 2009
Zusammenfassung aller Erkenntnisse:
- es handelt sich nicht um ein Delphi Problem, sondern ein Windows Problem und muss am 07.04.2015 bei mir passiert sein - ich bin als Admin-user eingelogt, kann mit dem Explorer alle Programme starten, kopieren, Dateien löschen etc, auch in Systemverzeichnissen - Anlegen eines zweiten Admin-Accounts hilft nicht - das folgende Problem betrifft nur c:\, mit d:\ geht alles wunderbar (andere Partition auf gleicher SSD) Problem: Wenn eine beliebige Executable (also auch notepad.exe) aus einem Verzeichnis ausgeführt wird dessen Parent-Verzeichnis nach dem 07.04.2015 erstellt wurde, hat diese App nur Leserechte und zwar sowohl für die Registry als auch beim Schreiben von Dateien. Beispiel a: 1. c:\ordner1 wird erstellt 2. notepad.exe hin kopiert und gestartet 3. Datei -> Speichern als -> My Documents: Notepad meldet dass ich keine Zugriffsrechte zum Speichern habe. Rechtsklick auf notepad.exe und 'Run as administrator' bringt gleiches Ergebnis. Beispiel b: alles wie im Beispiel a, aber Ordner nicht c:\ordner1 sondern c:\windows\ordner1 und es treten keinerlei Probleme auf, weil c:\windows VOR dem 07.04.2015 erstellt wurde. Ich habe mittlerweile 10 Stunden gegoogelt und das Problem nicht noch einmal gefunden. Also bleibt wohl nur Neuinstallation. :roll: |
AW: TRegistry Unterschied zwischen Delphi 7 und 2009
Du hast einen zweiten Admin-Konto erstellt. Hast du das Ganze auch mit einem Standard-Konto getestet?
Hier gilt nicht Admin = mehr Rechte, also kann man sich das Standard-Konto sparen. |
AW: TRegistry Unterschied zwischen Delphi 7 und 2009
Ja, hatte auch einen normalen User erstellt, dieser hatte aber das Problem auch.
|
AW: TRegistry Unterschied zwischen Delphi 7 und 2009
Wenn du Lust hast, noch ein Test. Lade und installiere mal das Tool
![]() Achso, solltest du das Programm installieren, es fügt ein Eintrag in das Kontextmenü des Explorers. |
AW: TRegistry Unterschied zwischen Delphi 7 und 2009
Wie schon gesagt:
Das einzig sinnvolle um wirklich festzustellen wo der Unterschied liegt, ist den Process Monitor zu starten und nachzuschauen... |
AW: TRegistry Unterschied zwischen Delphi 7 und 2009
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 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