![]() |
Re: Auf Schreibrechte unter Win 7 prüfen
Hallo,
im Quellcode suchen, hmmmm -> Wingrep herunterladen -> nach "DeleteFile" / "Delete" suchen Heiko Das der Code aus 2001 ist, kannst du den eh vergessen. Übrigens kann man per Manifest das "VirtualStore" ganz ausknipsen, dann bekommt man garantiert einen Schreibfehler, wenn ins Programm-Verzeichnis geschrieben wird. Das VirtualStore ist ja nur ein Hilfsmittel von MS, damit "alte, böse" Programme auch laufen. "böse" = "Ich schreib mal in mein eigenes Verzeichnis" Heiko |
Re: Auf Schreibrechte unter Win 7 prüfen
Zitat:
Aber man kann über Parameter und ShellExecute auch intern die Anwendung sich selbst (als Admin) aufrufen lassen. Dann ist das Adminmanifest nicht nötig. |
Re: Auf Schreibrechte unter Win 7 prüfen
Er könnte
![]() |
Re: Auf Schreibrechte unter Win 7 prüfen
Von ImpersonateLoggedOnUser kann ich nur immer abraten. Das muss man schon richtig verstehen, um damit umgehen zu können.
Da finde ich es schon einfacher mit ShellExecute und "runas"-Verb die Anwendung ein zweites Mal aufzurufen. Z.B. wenn ein Parameter "/update" angegeben wurde. 1. Anwender startet Programm 2. Programm prüft auf neue Updates -> Wenn nicht vorhanden gehe zu 5. 3. Programm prüft, ob es Adminrechte hat -> Wenn ja, dann gehe zu 3. 4. Startet sich selbst mit ShellExecute("runas") und beendet sich. Zweiter Prozess führt 4a aus. 4a. Prozess macht update. Das Problem hier ist, dass du Anwendung und Installer in einer Datei hast, da es so nicht ohne weiteres möglich ist, die Anwendung ohne Adminrechte zu starten. Andernfalls hättest du im Punkt 4. einen Installer gestartet, der zwar sich selbst startet, aber den ersten Prozess nicht beendet. Dieser erste Prozess könnte die Anwendung ohne Adminrechte starten, wenn der Installer erfolgreich war. (Der Weg von Admin zu Nicht-Admin ist schwer in Windows) 5. Anwendung startet |
Re: Auf Schreibrechte unter Win 7 prüfen
Ach du meine Güte, Leute ich danke euch, aber bitte nicht vergessen, ich bin Hobbyprogrammierer, hab nix studiert oder so... :roteyes:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 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