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/)
-   -   Delphi Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum? (https://www.delphipraxis.net/179044-mein-programm-benoetigt-administrator-rechte-unter-windows-7-warum.html)

Rainer78 11. Feb 2014 09:49

Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Hallo zusammen,

ich habe ein Problem mit einem Programm von mir.

Folgende Umgebung ist bei mir vorhanden:

- Anwendung wurde mit Delphi 2005 entwickelt
- Anwendung ist auf einem Windows-Server abgespeichert
- Die Clients sind per Domäne mit dem Server verbunden
- Die Clients starten die EXE-Datei vom Server aus (nicht als lokale Kopie)
- Unter Windows XP kam nur die Meldung, dass die Datei von einer nicht vertrauenswürdigen Quelle stammen könnte und man musste bestätigen, dass man das Programm trotzdem starten will

- Seit kurzem sind die Clients auf Windows 7 umgestellt worden und seit dem werden Administratoren-Rechte benötigt um die Programme zu starten (auch zu erkennen an dem Administrator-Icon - dieses blau/gelbe Schild)

Die Benutzer, die aber an den Clients arbeiten, sollen aber keine Administrator-Rechte bekommen.

Woran kann ich erkennen, warum auf einmal Administrator-Rechte benötigt werden? Sind irgendwelche gesonderten Einstellungen / Flags zu setzen?

Gruß,

Rainer

DeddyH 11. Feb 2014 10:01

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Wie heißt denn das Programm, irgendetwas mit Install, Update oder Setup im Namen?

baumina 11. Feb 2014 10:10

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Evtl. hast du eine Manifest-Datei (XML-Datei) dabei, in der das Recht erwartet wird.

Code:
   <security>
     <requestedPrivileges>
      <requestedExecutionLevel level="requireAdministrator"/>
     </requestedPrivileges>
   </security>

Der schöne Günther 11. Feb 2014 10:21

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Macht es einen Unterschied, wenn man die Anwendung lokal auf dem eigenen PC kopiert?

arnof 11. Feb 2014 10:40

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
seit Vista sind die Rechte komplett anders, d.h. C:\ C:\Programme , Registrie Localmachine überall dort benötigt man entsprechende Rechte, die man einrichten muss oder das Programm als lokaler Admin starten.

Das ist halt so, Aufgabe für den Admin des Netzes, Du musst Ihn mitteilen wo zu Schreibrechte brauchst, der muss es freischalten!

Bernhard Geyer 11. Feb 2014 10:46

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Zitat:

Zitat von arnof (Beitrag 1247384)
seit Vista sind die Rechte komplett anders, d.h. C:\ C:\Programme , Registrie Localmachine überall dort benötigt man entsprechende Rechte, die man einrichten muss oder das Programm als lokaler Admin starten.

Das hat sich nicht geändert. Das war schon seit Windows NT so!


Das einzige was sich geändert hat das wegen der UAC im Normalfall die gestarteten Anwendungen kein Adminrechte bekommen.
Unter NT/2000/XP sind halt 98 der User mit Adminrechten unterwegs gewesen. In Vista und neuer zwar immer noch, aber die Anwendungen werden ohne gestartet.

DeddyH 11. Feb 2014 10:47

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Die Rechte sind nicht anders, sondern spätestens seit Vista zieht MS seine eigenen Richtlinien konsequent durch. Das heißt, dass diejenigen, die sich darum vorher nicht geschert haben, nun auf die Nase fallen.

p80286 11. Feb 2014 11:24

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1247382)
Macht es einen Unterschied, wenn man die Anwendung lokal auf dem eigenen PC kopiert?

Jain, die lokale Festplatte(bzw. die Dateien auf ihr) werden meist als vertrauenswürdig eingestuft.
Zumindestens unter XP hatten die AlternateDataSreams da noch ihre Finger drin.

Gruß
K-H

p80286 11. Feb 2014 11:30

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Zitat:

Zitat von Rainer78 (Beitrag 1247379)
Woran kann ich erkennen, warum auf einmal Administrator-Rechte benötigt werden? Sind irgendwelche gesonderten Einstellungen / Flags zu setzen?

Da mußt Du den Programmierer fragen, werden Werte modifiziert die in den Gruppenrichtlinien nicht freigegeben wurden?
Wird versucht in den Bereich der LocalMachine in der Registry zu schreiben?
.....
Da gibt es 1000 und eine Möglichkeit warum "auf einmal" AdminRechte benötigt werden.

Übrigens kann man die Rechtevergabe modifizieren, ob das sinnvoll ist, darüber kann man streiten.

Gruß
K-H

Rainer78 11. Feb 2014 12:29

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Danke schon mal an alle für die schnellen Antworten.

Ich werde dann das Programm mal durchforsten, was eventuell da für Probleme auftreten könnten. Die Registry-Zugriffe habe ich schon als ReadOnly eingerichtet bzw. auf HKEY_Current_User gesetzt. Das hat aber leider noch nicht gewünschten Erfolg gebracht.

Von Manifest-Dateien habe ich (zu meiner Schande) gar keine Ahnung von und habe sie auch nicht verwendet.

Gruß,

Rainer

himitsu 11. Feb 2014 12:30

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Zitat:

Zitat von DeddyH (Beitrag 1247380)
Wie heißt denn das Programm, irgendetwas mit Install, Update oder Setup im Namen?

Programme, welche per Manifest zu der Version als "kompatibel" markiert sind und oder, wo im Manifest explizit gesagt wird, daß keine Adminrechte nötig sind,
da greifen diese Automatiken eigentlich nicht, bzw. sie sind nur aktiv, wenn das Programm als "inkompatibel" angesehn wird.

DeddyH 11. Feb 2014 12:49

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Und das dürfte bei einem Delphi 2005-Programm nicht der Fall sein, zumal der TE nach eigenem Bekunden von Manifesten noch nichts gehört hat.

Popov 11. Feb 2014 13:41

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Zitat:

Zitat von arnof (Beitrag 1247384)
seit Vista sind die Rechte komplett anders, d.h. C:\ C:\Programme , Registrie Localmachine überall dort benötigt man entsprechende Rechte, die man einrichten muss oder das Programm als lokaler Admin starten.

Das ist schon bei XP so, vermutlich auch bei 2000 und NT. Nur hatten bei XP erstellte Konten zuerst Administratoren-Rechte, so dass man die Einschränkung nicht merkte.

arnof 11. Feb 2014 16:24

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Zitat:

Zitat von Popov (Beitrag 1247412)
Zitat:

Zitat von arnof (Beitrag 1247384)
seit Vista sind die Rechte komplett anders, d.h. C:\ C:\Programme , Registrie Localmachine überall dort benötigt man entsprechende Rechte, die man einrichten muss oder das Programm als lokaler Admin starten.

Das ist schon bei XP so, vermutlich auch bei 2000 und NT. Nur hatten bei XP erstellte Konten zuerst Administratoren-Rechte, so dass man die Einschränkung nicht merkte.

Huhu bei XP war das nicht so! natürlich konnte man auch die Rechte beschränken, aber ab Vista sind diese beschränkt ob man will oder nicht :wink:

holliesoft 11. Feb 2014 16:43

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Hallo,

eine weitere mögliche Ursache: die Einstellung "Programm im Kompatibilitätsmodus ausführen für:" mit Einstellung "Windows XP" oder älter (Rechtsklick auf EXE, Eigenschaften, Reiter Kompatibilität).
In diesem Kompatibilitätsmodus werden automatisch Adminrechte angefordert.

Gruß,
Patrick

himitsu 11. Feb 2014 17:31

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Zitat:

Zitat von arnof (Beitrag 1247445)
Zitat:

Zitat von Popov (Beitrag 1247412)
Zitat:

Zitat von arnof (Beitrag 1247384)
seit Vista sind die Rechte komplett anders, d.h. C:\ C:\Programme , Registrie Localmachine überall dort benötigt man entsprechende Rechte, die man einrichten muss oder das Programm als lokaler Admin starten.

Das ist schon bei XP so, vermutlich auch bei 2000 und NT. Nur hatten bei XP erstellte Konten zuerst Administratoren-Rechte, so dass man die Einschränkung nicht merkte.

Huhu bei XP war das nicht so! natürlich konnte man auch die Rechte beschränken, aber ab Vista sind diese beschränkt ob man will oder nicht :wink:

Das war schon seit NT/2000 so, daß viele System-Verzeichnisse mit entsprechenden Benutzerrechten versehen wurden.
Aber als Admin darf man praktisch Alles.

Windows find aber erst mit Vista/Win7 an, also erst ab da wurden die automtisch generieten Benutzerkonten mit "Benutzer"-Rechten eingerichtet und nicht mehr mit "Admin"-Rechten.
Darum merkten Viele erst ab da, daß man dort nicht mehr schreiben darf. (abgesehn von denen, die vorher schon ordentlich nur mit Benutzerkonten arbeiteten)

Achtung: Seit Win7 und mit aktiem UAC werden Programm in Adminkonten dennoch nur mit eingeschränkten Rechten gestartet. (drum knallt es dort oftmals auch bei Admins)

p80286 11. Feb 2014 17:53

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Zitat:

Zitat von himitsu (Beitrag 1247452)
Aber als Admin darf man praktisch Alles.

Nein! der Admin kann sich alle Rechte besorgen, danach kann er alles.
Ist ein kleiner aber feiner Unterschied!

Zitat:

Zitat von himitsu (Beitrag 1247452)
Windows find aber erst mit Vista/Win7 an, also erst ab da wurden die automtisch generieten Benutzerkonten mit "Benutzer"-Rechten eingerichtet und nicht mehr mit "Admin"-Rechten.

Ebenfalls nicht ganz richtig.
Im Konto von Benutzer1 hatten der "Admin" und Benutzer1 Narrenfreiheit. Benutzer2,3,4 hatten keine Chance.

Und da die meisten als "Admin" unterwegs waren, hat es keiner gemerkt.

Sobald Du einen "PlattenMaster" einrichtest, wird es richtig lustig, da dann auch der Admin ausgesperrt werden kann / ist.


Gruß
K-H

Bernhard Geyer 11. Feb 2014 18:30

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Zitat:

Zitat von arnof (Beitrag 1247445)
Huhu bei XP war das nicht so! natürlich konnte man auch die Rechte beschränken, aber ab Vista sind diese beschränkt ob man will oder nicht :wink:

War schon so. Die normalen Benutzer waren in der Gruppe der Hauptbenutzer. Und Hauptbenutzer waren auch lokale Admins.

Dalai 11. Feb 2014 19:14

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1247458)
Zitat:

Zitat von arnof (Beitrag 1247445)
Huhu bei XP war das nicht so! natürlich konnte man auch die Rechte beschränken, aber ab Vista sind diese beschränkt ob man will oder nicht :wink:

War schon so. Die normalen Benutzer waren in der Gruppe der Hauptbenutzer. Und Hauptbenutzer waren auch lokale Admins.

Naja, so ganz stimmt das nicht. Hauptbenutzer haben zwar Schreibrechte im Programme-Verzeichnis (und sogar im Windows-Verzeichnis), aber es gibt schon relevante Unterschiede zwischen Hauptbenutzer und Administratoren: letztere dürfen z.B. Gerätetreiber laden, was gerade die Installation von unbekannten USB-Sticks für Hauptbenutzer unmöglich machen kann. Davon abgesehen konnte man die Gruppe der Hauptbenutzer auf XP Home nur auf Umwegen nutzen (XP Usermanager oder ähnliche Tools). Insofern spielte die Gruppe der Hauptbenutzer auf XP Home eher keine Rolle.

MfG Dalai

Bernhard Geyer 11. Feb 2014 21:24

AW: Mein Programm benötigt Administrator Rechte unter Windows 7 - Warum?
 
[QUOTE=Dalai;1247462]
Zitat:

Zitat von Bernhard Geyer (Beitrag 1247458)
Zitat:

Zitat von arnof (Beitrag 1247445)
Huhu bei XP war das nicht so! natürlich konnte man auch die Rechte beschränken, aber ab Vista sind diese beschränkt ob man will oder nicht :wink:

War schon so. Die normalen Benutzer waren in der Gruppe der Hauptbenutzer. Und Hauptbenutzer waren auch lokale Admins.

Naja, so ganz stimmt das nicht. Hauptbenutzer haben zwar Schreibrechte im Programme-Verzeichnis (und sogar im Windows-Verzeichnis), aber es gibt schon relevante Unterschiede zwischen Hauptbenutzer und Administratoren.../QUOTE]
Genau diese Rechte (Schreiben in c:\programme, Schreiben unter HKLM, Schreiben ins Windows-Verzeichniss sind aber die Rechte der Hauptbenutzergruppe deren Fehlen viel alte Programme vor Probleme stellt. Genau die gleichen probleme als wenn die User nur als Benutzer oder Gäste auf dem PC unterwegs gewesen wären.


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