Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm nur für XP aber nicht in Vista mit Kompatibili... (https://www.delphipraxis.net/136156-programm-nur-fuer-xp-aber-nicht-vista-mit-kompatibili.html)

Fridolin Walther 24. Jun 2009 19:02

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Zitat:

Zitat von Dezipaitor
Wenn du damit anfängst, dann wird etwas später auch diese Funktion emuliert. Das ist ein reines Katz- und Mausspiel.

Emuliert ist das falsche Wort. Imho benutzen Shims Code Patches bzw. Hooks wenns komplexer sein soll.

Zitat:

Zitat von Dezipaitor
Ich kann mir ehrlich gesagt, kein Grund vorstellen auf Anwendungsebene.

GINA Installer z.B.? Ist ja nicht so das Microsoft keine "Technologien" "gedropt" hätte von XP auf Vista.

Luckie 24. Jun 2009 19:12

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Zitat:

Zitat von Dezipaitor
Zitat:

Zitat von turboPASCAL
Um einen Registriezugriff mit Adminrechten bei Vista zu Vermeiden.

Hu? :?: Das verstehe ich nicht.

Und unter XP ist das kein Problem? Ich arbeite an meinem Rechner auch nur als Benutzer mit eingeschränkten Rechten. Dann dürfte dein Programm bei mir auch unter XP ein Problem haben.

Popov 24. Jun 2009 19:33

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Zitat:

Zitat von turboPASCAL
Zitat:

Zitat von jaenicke
Warum darf denn das Programm nur unter XP laufen? Ich meine das muss doch einen Grund haben, kann man das daran nicht entscheiden? :gruebel:

Um einen Registriezugriff mit Adminrechten bei Vista zu Vermeiden.

@0xF30FC7, werde ich mir mal angucken.

Schon mal überlegt eine Funktion zu nutzen die überprüft ob man Adminrechte hat? Das ist kein großer Aufwand.

jaenicke 24. Jun 2009 19:38

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Zitat:

Zitat von Popov
Schon mal überlegt eine Funktion zu nutzen die überprüft ob man Adminrechte hat? Das ist kein großer Aufwand.

Nein? Wirklich überall funktioniert hat bisher nichts was ich gefunden habe zu dem Thema...
Ich prüfe das im Moment experimentell.

Fridolin Walther 24. Jun 2009 19:52

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Zitat:

Zitat von jaenicke
Zitat:

Zitat von Popov
Schon mal überlegt eine Funktion zu nutzen die überprüft ob man Adminrechte hat? Das ist kein großer Aufwand.

Nein? Wirklich überall funktioniert hat bisher nichts was ich gefunden habe zu dem Thema...

Was daran liegt, daß Du durchaus Admin Rechte haben kannst ohne in der Administrator Gruppe zu sein und umgekehrt ;). Davon abgesehen ist es auch durchaus möglich einem Admin User Zugriffsrechte auf ein Objekt zu verbieten. Er könnte sich mit Hilfe diverser Previlegien wie Take Ownership zwar durchaus Zugriff verschaffen, aber die Anwendung funktioniert trotzdem nicht ;). Daher wäre der Ansatz von Sebastian (ich hoffe ich darf dich so nennen?) nicht der verkehrteste. Noch schöner wäre es natürlich, wenn man gar nicht erst in HKLM und Co schreiben müsste. Aber wir alle wissen ja, daß das nicht immer möglich ist ;).

Übrigens:
Microsoft selbst entscheidet auch nicht auf Grund der Gruppenzugehörigkeit ob Du Admin bist oder nicht, wie es die meisten "IsAdmin" Funktionen es tun, die so rumschwirren, sondern auf Grund der Rechte die Du tatsächlich besitzt. Sobald Du MSDN-Library durchsuchenSE_CREATE_TOKEN_PRIVILEGE, MSDN-Library durchsuchenSE_TCB_PRIVILEGE, MSDN-Library durchsuchenSE_TAKE_OWNERSHIP_PRIVILEGE, MSDN-Library durchsuchenSE_BACKUP_PRIVILEGE, MSDN-Library durchsuchenSE_RESTORE_PRIVILEGE, MSDN-Library durchsuchenSE_DEBUG_PRIVILEGE, MSDN-Library durchsuchenSE_IMPERSONATE_PRIVILEGE, MSDN-Library durchsuchenSE_RELABEL_PRIVILEGE oder MSDN-Library durchsuchenSE_LOAD_DRIVER_PRIVILEGE hast, bist Du Admin in den Augen von MS (oder könntest Dir Admin Rechte beschaffen ;)).

turboPASCAL 24. Jun 2009 20:14

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Zitat:

Zitat von 0xF30FC7
Was daran liegt, daß Du durchaus Admin Rechte haben kannst ohne in der Administrator Gruppe zu sein und umgekehrt.

Dito.

Zitat:

Zitat von 0xF30FC7
Davon abgesehen ist es auch durchaus möglich einem Admin User Zugriffsrechte auf ein Objekt zu verbieten.

So ist es.

Zitat:

Zitat von 0xF30FC7
Noch schöner wäre es natürlich, wenn man gar nicht erst in HKLM und Co schreiben müsste.

Genau das ist der Punkt.

Popov 24. Jun 2009 20:22

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Zitat:

Zitat von jaenicke
Zitat:

Zitat von Popov
Schon mal überlegt eine Funktion zu nutzen die überprüft ob man Adminrechte hat? Das ist kein großer Aufwand.

Nein? Wirklich überall funktioniert hat bisher nichts was ich gefunden habe zu dem Thema...
Ich prüfe das im Moment experimentell.

Ok, ich beziehe mich auf die zwei möglichen Typen die von Windows angeboten werden: Computeradministrator und Eingeschränkter Nutzer. Wenn du auf Rechte anspielst, dann wirst du nie etwas finden, denn du kannst dem Eingeschränkter Nutzer alle Rechte geben, aber auch den Administratoren alle Rechte entziehen. Ich hab mal geschafft allen, auch den Administratoren, die Rechte über einen wichtigen Ordner zu nehmen. Ich wollte nicht, daß einer im Urlaub an den Daten rumspielt, also hab ich allen alle Rechte entzogen. Das hat schon paar mal geklappt, nur dieses mal habe ich es zu gut gemacht und vergessen die Hintertür offen zu lassen, und hab den Laden komplett dicht gemacht und kam später nicht mehr rein. Ich mußte mich mit einem Trick als System anmelden.

Also wenn du das meinst, dann ist das nicht so einfach. Aber ich sprach von Administratoren und nicht von Rechten. Denn die Sicherheit die er will, die wird er auch nicht bei XP haben.

Aber auch dein Problem ist nicht unmöglich zu lösen, nur der Aufwand ist etwas größer. Wenn du nach Ideen suchst, dann guck dir man das Programm AccessEnum. Man kann zu Not ermitteln welche Rechte man hat.

Fridolin Walther 24. Jun 2009 20:32

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Windows sieht dafür die Verwendung der MSDN-Library durchsuchenAccessCheck Funktion vor. Mit der ließe sich vor einem Zugriff auf ein Registry Objekt überprüfen, ob man die entsprechenden Rechte dafür besitzt.

Popov 24. Jun 2009 20:40

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Zitat:

Zitat von turboPASCAL
So ist es.

Jeder Programmierer hat das Recht zu progen was und wie er es will. Aber komm mir nicht damit, daß das der Punkt ist. Was ist für dich der Unterschied zwischen XP Admin und Vista Admin? Glaubst du, daß du unter XP sicher bist? Ich arbeite seit acht Jahren mit XP und dem Eingeschränkten Konto. Ohne Manipulationen kriegst du nicht alles zum laufen. Hier und da hab ich auch im Programme Verzeichnis paar Ordner für alle zugänglich, weil es anders nicht geht. Genauso auch in der Registry.

Was 0xF30FC7 geschrieben hat ist nett, gilt aber für XP und Vista. Also verstehe ich nicht wieso du mit deinem Problem ein dito gibst? Wenn du Vista erkennen willst, dann mach es. Dein Winver.exe Vorschlag ist nicht mal schlecht und nicht mal schwer umzusetzen. Etwas besseres kriegst du nicht hin. Einfach nur eine Funktion nehmen die die Version eines Programms ermittelt und schon bist du schlauer und alle Sorgen loß. So eine Funktion kannst du zur Not von mir kriegen und dein Problem ist in fünf Minuten erledigt.

Aber jetzt damit zu kommen, daß es ja möglich ist die Rechte zu manipulieren, also deshalb eine IsAdmin Funktion ablehnen, ist Quatsch. Denn auch bei XP kannst du XP, Eingeschränkten Konto und alle Rechte haben.

EDIT:

Mir ist gerade etwas eingefallen. Das ist doch dein Programm, oder? Also wenn du nicht willst, daß man nicht in die Reg schreibt, wieso schreibst du dann in die Reg? Admin hin oder her.

jaenicke 24. Jun 2009 20:42

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Zitat:

Zitat von 0xF30FC7
Windows sieht dafür die Verwendung der MSDN-Library durchsuchenAccessCheck Funktion vor. Mit der ließe sich vor einem Zugriff auf ein Registry Objekt überprüfen, ob man die entsprechenden Rechte dafür besitzt.

Das schaue ich mir direkt auch mal an, denn das brauche ich für meinen Registryeditor selbst auch. :mrgreen:
Ich hatte das nur erst einmal nach hinten geschoben im Plan, weil ich bei den ganzen Funktionen erst einmal gar nicht wusste welche dazu geeignet ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:42 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz