AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Normaler User / Admin - XP / Vista -> Rechteproblem

Normaler User / Admin - XP / Vista -> Rechteproblem

Ein Thema von Pascal P · begonnen am 21. Apr 2008 · letzter Beitrag vom 22. Apr 2008
Antwort Antwort
Pascal P

Registriert seit: 16. Nov 2007
14 Beiträge
 
#1

Normaler User / Admin - XP / Vista -> Rechteproblem

  Alt 21. Apr 2008, 18:20
Hallo,

ich hoffe ich werde nicht sofort erschlagen, weil dieses Thema ja nun schon wirklich oft diskutiert wurde, aber leider habe ich mit der Suche keine passende Lösung für mein Problem gefunden.

Ich habe folgendes Problem:

Ich habe ein Programm für Endkunden. Dieses soll sich selbst, als auch verschiedene andere Dateien updaten können.
Ich habe ein Hauptprogramm, dass die beschriebenen Update's herunterladet und eine kleine Konsolenanwendung, die nur heruntergeladene Datei entpackt und anschließend z.B. das Hauptprogramm ersetzt (nachdem sich dieses selbst geschlossen hat).
Mein Hauptprogramm ladet die Dateien in den Anwendungsordner des Users und benötigt daher keine Adminrechte.
Sobald meine Konsolenanwendung gestartet wird (falls mal ein Update vorliegt und es heruntergeladen werden konnte), wird (unter Vista) nach Administratorrechten verlangt (durch eine Manifest-Datei). Unter Vista läuft alles wie gewollt und ohne Probleme (sowohl als Admin, als auch normaler User)
Unter XP funktioniert dies mit dem normalen (eingeschränkten) User allerdings nicht, weil ich keinen Dialog mit einer Passwortabfrage bekommen.

Daher meine Frage:
Wie bekomme ich es unter XP mit einem eingeschränkten User der Konsolenanwendung Adminrechte zu verschaffen? Gibt es eine Möglichkeit beim Start der Anwendung den Dialog mit der Passwortabfrage des Admin zu starten?
Oder muss mein Hauptprogramm bereits als Admin gestartet werden, damit dieses die Rechte "weitergeben" kann (was ich eigentlich nicht möchte, weil der User sonst immer das Passwort eingeben muss, auch wenn nur alle paar Wochen ein Update vorliegt)? Wenn ja: Wie gebe ich diese Rechte weiter? (meine Konsolenanwendung hatte nämlich keine Rechte zu schreiben, obwohl ich mal als Test das Programm mit "Ausführen als..." als Admin gestartet hab)

Ich hoffe das ist einigermaßen verständlich.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Normaler User / Admin - XP / Vista -> Rechteproblem

  Alt 21. Apr 2008, 18:23
Frage den Benutzer nach den Daten - und suche dir eine sichere Möglichkeit! Dann kannst du CreateProcessWithLogon verwenden.
Wie das mit der Rechte-Übergabe bei Shellexecute ist, weiß ich nicht. Bei CreateProcess wird das Token aber vererbt.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#3

Re: Normaler User / Admin - XP / Vista -> Rechteproblem

  Alt 21. Apr 2008, 20:38
ShellExecute mit verb = runas
startet in Vista den Elevation Prompt und unter XP ein Eingabeprompt für Benutzername und Passwort.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Normaler User / Admin - XP / Vista -> Rechteproblem

  Alt 21. Apr 2008, 21:02
Ich finde die Lösung von Avira AntiVir recht gut. Einfach einen Service laufen lassen der sich um die Updates etc. kümmert.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#5

Re: Normaler User / Admin - XP / Vista -> Rechteproblem

  Alt 22. Apr 2008, 09:39
Zitat von SirThornberry:
Ich finde die Lösung von Avira AntiVir recht gut. Einfach einen Service laufen lassen der sich um die Updates etc. kümmert.
Und dann hat jede installierte Anwendung auf dem System einen eigenen Update-Dienst? Bei Antivir läuft mehr oder weniger zwangsweise sowieso ein Dienst, aber ich würde schon komisch gucken, wenn jede Popelanwendung gleich noch ihren eigenen Updatedienst mitbringt. Schlechte Lösung.

Dezipaitors Lösung ist viel besser für eine normale Anwendung.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Pascal P

Registriert seit: 16. Nov 2007
14 Beiträge
 
#6

Re: Normaler User / Admin - XP / Vista -> Rechteproblem

  Alt 22. Apr 2008, 14:57
Danke für eure Hilfe

Ich habs jetzt, durch den Hinweis von Dezipaitor mit dem verb = runas hinbekommen.

Ich prüfe zuvor, ob es XP und ein normaler User ist und rufe in diesem Fall statt "open" einfach die Exe mit "runas" auf. Funktioniert super! Auch das Fehlerhandling, falls der Benutzer sich nicht authentifizieren kann.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:51 Uhr.
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