Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Admin Rechte Manifest für eingeschränkten Benutzer (https://www.delphipraxis.net/181258-admin-rechte-manifest-fuer-eingeschraenkten-benutzer.html)

theoneand 30. Jul 2014 14:19


Admin Rechte Manifest für eingeschränkten Benutzer
 
Hallo zusammen,

hab mir gerade ein Manifest eingebunden um in win8 in C:\Program Files (x86)\blabla
Dateien erstellen/ bzw überschreiben zu können.

Wenn der Nutzer Admin-Rechte hat, klappt alles auch wunderbar.
Das Problem ist, unsere Kunden haben nur teilweise Admin-Rechte.
Gibt es da eine Möglichkeit, das Ganze auch für eingeschränkte Windows-Benutzer lauffähig zu machen??

Grüße und Danke im Vorraus

PS: Hoffe dies war die richtige Stelle für meine Frage

p80286 30. Jul 2014 14:42

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Wie wäre es, die Rechte so zu vergeben wie sie benötigt werden?

Gruß
K-H

theoneand 30. Jul 2014 14:45

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
und wie soll das aussehen??
dir ist bewusst, dass unter win8 das root verzeichnis, also C: besonders geschützt ist, genauso wie C:\Program Files (x86)\xxxxxxx
deshalb kann ich da bspw. keinen ordner erstellen ohne das Manifest, doch mit einem eingeschränkten user bringt das nix

gruß

himitsu 30. Jul 2014 14:49

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Zitat:

Zitat von theoneand (Beitrag 1267051)
Gibt es da eine Möglichkeit, das Ganze auch für eingeschränkte Windows-Benutzer lauffähig zu machen??

Nein, das wäre ja noch besser, wenn jeder einach so das Rechtesystem umgehen könnte.

Mit dem Manifest kann man dem UAC sagen, daß es das Programm bitte mit erhöhten Rechten starten soll.
Ist das UAC deaktivert, oder ist es nicht möglich diese Rechte zu erlangen (z.B. das Adminpasswort ist nicht bekannt), dann geht das eben nicht.

siehe mein Vorregner:
* Rechte im Dateisystem entsprechend freigeben
* oder anderes Verzeichnis, mit den nötigen Rechten
* oder das Programm wendest sich an jemand Anderes (z.B. einen Service), welcher die nötigen Rechte besitzt, und lässt es von Diesem erledigen

Bernhard Geyer 30. Jul 2014 14:53

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Zitat:

Zitat von theoneand (Beitrag 1267054)
dir ist bewusst, dass unter win8 das root verzeichnis, also C: besonders geschützt ist ...
deshalb kann ich da bspw. keinen ordner erstellen ohne das Manifest, doch mit einem eingeschränkten user bringt das nix

Ordner erstellen ist unter C:\ möglich. Nur direkt unter C:\ direkt Dateien erstellen geht net.

Bernhard Geyer 30. Jul 2014 14:55

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Zitat:

Zitat von theoneand (Beitrag 1267051)
... um in win8 in C:\Program Files (x86)\blabla Dateien erstellen/ bzw überschreiben zu können.

Das Problem ist, unsere Kunden haben nur teilweise Admin-Rechte.
Gibt es da eine Möglichkeit, das Ganze auch für eingeschränkte Windows-Benutzer lauffähig zu machen?

Ja. Einfach nicht dorthin schreiben sondern dort wo es MS vorgesehen hat:

C:\ProgramData

bzw.

%AppData%

theoneand 30. Jul 2014 14:58

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
hmm ok, danke

@himitsu
Und die Rechte in dem Pfad kann ich wahrscheinlich nicht in meinem Programm selber vergeben^^

Das Problem ist, das Programm ist nen updater, der die unsere Software updaten soll, dabei wird die alte exe mit der neuen überschrieben.
Und viele Nutzer haben keine Admin Rechte auf Ihrer Maschine....

Hab jetzt noch was anderes gefunden: mit der Funktion ShellexecuteEx()
Damit können ja programme als Admin gestartet werden, geht das dann mit meinem Programm auch?? oder fehlen dann immernoch die Rechte??

@@bernhard
Das Problem ist das die exen immer in C:\Program Files (x86)\MeinProgramm liegen, ich muss genau da reinkopieren/ ersetzten / ausführen können

grüßle

DeddyH 30. Jul 2014 15:17

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Wenn der Updater im Programme-Verzeichnis schreiben soll, muss er eben mit entsprechenden Rechten gestartet werden (Admin-Mainfest für UAC-Abfrage).

Dalai 30. Jul 2014 15:21

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Zitat:

Zitat von theoneand (Beitrag 1267059)
Das Problem ist, das Programm ist nen updater, der die unsere Software updaten soll, dabei wird die alte exe mit der neuen überschrieben.
Und viele Nutzer haben keine Admin Rechte auf Ihrer Maschine....

Wieso sollte ein Nutzer Adminrechte haben? In jedem ordentlichen Unternehmen gibt es einen Administrator, der die notwendigen Rechte hat, und mit diesem Konto muss man den Updater ausführen (bzw. via UAC, sofern die eingeschaltet ist). Alternativ kann man auch einen Dienst schreiben, der die nötigen Rechte ebenfalls hat und mit (d)einem als normaler Nutzer laufenden Updater angesteuert wird; so machen es ja diverse Programme.

MfG Dalai

theoneand 30. Jul 2014 15:25

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
@@dalai
da wir auch kleine 2-Mann Betriebe haben, die keine Administratoren haben.

Ist mir schon klar dass dies über den admin laufen kann, wollte nur wissen, ob ich die Möglichkeit habe, das
direkt in mein Programm einzubauen.

@@daddyh
ich hab das admin-manifest eingebunden, dieses funktioniert aber nicht bei eingeschränkten Benutzerkonten, das ist ja mein Problem.
Bei Admin Usern funktioniert ja alles.

Egal, dann muss ich halt nach ner anderen Lösung schauen, danke für die Antworten

Bernhard Geyer 30. Jul 2014 15:31

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Zitat:

Zitat von theoneand (Beitrag 1267065)
@@dalai
da wir auch kleine 2-Mann Betriebe haben, die keine Administratoren haben.

Und das Programm hat sich initial so von Geisterhand installiert?

DeddyH 30. Jul 2014 15:33

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Wenn in Deinem Manifest steht, dass Du Adminrechte brauchst, dann sollte (sofern nicht abgeschaltet) die UAC-Abfrage kommen, mit der sich der Benutzer kurzfristig die benötigten Rechte besorgen kann, sofern er die Anmeldung eines administrativen Kontos kennt.

Dalai 30. Jul 2014 15:40

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Zitat:

Zitat von theoneand (Beitrag 1267065)
da wir auch kleine 2-Mann Betriebe haben, die keine Administratoren haben.

Naja, irgendwer muss ja das Programm da hingepackt haben, wo du es nun überschreiben willst, d.h. es muss ein Konto geben, das Adminrechte hat.

Zitat:

[...] wollte nur wissen, ob ich die Möglichkeit habe, das direkt in mein Programm einzubauen.
Ja klar.
  • Admin-Manifest, das aber nur bei eingeschalteter UAC und wenn die Nutzer Mitglied der Gruppe der Administratoren sind oder wenn die Nutzer das Passwort des Administrators kennen (letzteres ist ganz böse!)
  • mittels Starten unter einem Nutzer der Adminrechte hat
  • mittels Implementation eines Dienstes, der von deinem Updater benutzt wird, um an die Rechte zu kommen, ohne Notwendigkeit eines Manifests oder Starten unter anderem Nutzer

Zitat:

ich hab das admin-manifest eingebunden, dieses funktioniert aber nicht bei eingeschränkten Benutzerkonten, das ist ja mein Problem.
Wie sieht dein Manifest genau aus? Sind die Nutzer Mitglied in der Gruppe der Administratoren?

MfG Dalai

himitsu 30. Jul 2014 17:11

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Zitat:

Zitat von theoneand (Beitrag 1267059)
@himitsu
Und die Rechte in dem Pfad kann ich wahrscheinlich nicht in meinem Programm selber vergeben^^

Doch, das geht ... wenn dein Programm die Rechte zum Ändern von Rechten besitzt. :roll:

Ansonsten hat das der dortige Admin zu erledigen, oder das Setup/Installer deines Programms.

pelzig 30. Jul 2014 22:47

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Wasch mich, aber mach mich nicht nass!
Mach mich nass, aber wasch mich nicht!

SCNR :oops:

p80286 31. Jul 2014 21:27

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Um die Verwirrung ein wenig zu steigern, Es ist durchaus möglich die Rechte an/in Verzeichnissen so zu ändern, daß der "normale Admin" auch hier keine Rechte besitzt. Dafür werden dann "DataAdmin(s)" definiert, die auch die entsprechende Rechtevergabe erledigen. Wenn man so vorgeht sollte man allerdings auch wissen was man tut, da man dann u.U. mit den Berechtigungen kollidiert, die vom Programmierer eines Programms vorgegeben werden. Dieser sollte aber im Gegenzug auch in der Lage sein die notwendigen Berechtigungen zu definieren und diese auch dem Benutzer mitzuteilen.

Gruß
K-H

jaenicke 1. Aug 2014 09:01

AW: Admin Rechte Manifest für eingeschränkten Benutzer
 
Die einzig saubere Lösung für einen solchen Updater, der im Hintergrund einfach updaten soll, ist ein Dienst. Der hat die Rechte nachdem er einmal mit Adminrechten installiert wurde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:24 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