AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) fehlende Rechte nach EXE start auf WIN7
Thema durchsuchen
Ansicht
Themen-Optionen

fehlende Rechte nach EXE start auf WIN7

Ein Thema von ZOD · begonnen am 21. Okt 2013 · letzter Beitrag vom 25. Okt 2013
Antwort Antwort
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.056 Beiträge
 
Delphi 12 Athens
 
#1

AW: fehlende Rechte nach EXE start auf WIN7

  Alt 23. Okt 2013, 22:28
Aus diesem Grund ist ja mein Grundgedanke, wenn der erste Prozess als Admin (mit ShellExecuteEx) gestartet wird, und die Adminrechte an die von diesem Prozess ebenfalls mit ShellExecuteEx gestarteten Prozesse weitergereicht werden, dann müsste es doch gehen.
Der Adminprozess hat die Zugriffsmöglichkeit aber gerade nicht, nur der normale Benutzer. Deshalb ist das was du beschreibst das Problem und nicht die Lösung.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
ZOD

Registriert seit: 6. Mai 2009
97 Beiträge
 
#2

AW: fehlende Rechte nach EXE start auf WIN7

  Alt 24. Okt 2013, 09:56
Guten Morgen zusammen,

meine Suche im allwissenden Netz war bisher recht erfloglos.

Zum Thema "run as administrator" or "elevated" gibt es viel.

Dazu, wie ein Prozess aus einem "elevated" gestarteten Prozess im
Kontext des angemeldeten Users heraus gestartet werden kann,
finde ich nichts.

Neue Idee:
die Startroutine erzeugt einen Eintrag im Task Scheduler, der
das eigentliche Programm startet (ja - ist mit der Speerspitze durch die Brust ins Auge gezielt).
Hat mir dazu jemand einen Tip, wie ich das machen könnte?

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.056 Beiträge
 
Delphi 12 Athens
 
#3

AW: fehlende Rechte nach EXE start auf WIN7

  Alt 24. Okt 2013, 11:16
Ich habe keine Zeit, habe aber mal ganz kurz geschaut, ins Auge gesprungen sind mir diese Funktionen:
CreateRestrictedToken
CreateProcessWithToken
Ob es das ist, kann ich jetzt nicht schauen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
ZOD

Registriert seit: 6. Mai 2009
97 Beiträge
 
#4

AW: fehlende Rechte nach EXE start auf WIN7

  Alt 25. Okt 2013, 07:30
Guten Morgen,

nach einigem Herumprobieren und Suchen bin ich auf

http://stackoverflow.com/questions/1...785337#2785337


gestoßen und kann nun endlich auch unter Win7 mit folgendem Code
mein Programm aus der Startroutine heraus so starten, daß die Dateizugriffe keine
Fehler mehr ergeben:

Delphi-Quellcode:
      tmpS := IncludeTrailingPathDelimiter(GetEnvironmentVariable('WINDIR')) + 'explorer.exe';
      tmpS1 := '"' + Trim(ProgDateiPfad) + Trim(' ' + Trim(ProgParameter)) + '"';
      tmpExitCode :=
        ShellExecute(
         GetDesktopWindow,
         'open',
         PChar(tmpS),
         PChar(tmpS1),
         nil,
         SW_SHOWNORMAL);
      tmpLastOSError := GetLastError;
      result := tmpLastOSError <> 0;

Nun habe ich (natürlich) ein neues Problem:
bei jedem Aufruf kommt die Sicherheitswarnung

Dateidownload - Sicherheitswarnung
Möchten Sie diese Datei speichern oder ausführen?

Und nach Klick auf <Ausführen> natürlich noch

Windows Explorer - Sicherheitswarnung
Der Herausgeber konnte nicht verifiziert werden.
Möchten Sie diese Software ausführen.

Hat jemand eine Idee, wie ich ohne Verstellen der Sicherheitsstufe
an jeder Workstation diese Meldungen loswerde?

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.056 Beiträge
 
Delphi 12 Athens
 
#5

AW: fehlende Rechte nach EXE start auf WIN7

  Alt 25. Okt 2013, 08:09
Ohne das richtig zu machen, wirst du die Meldung mit dem Speichern natürlich nicht los.

Die Sicherheitswarnung kannst du nur beheben indem du deine Software mit einem Zertifikat versiehst. Denn die Warnung sagt ja genau aus, dass der Herausgeber nicht verifiziert werden kann. Und das kann Windows nur über ein gültiges Zertifikat.

Aber trotzdem ist deine "Lösung" von hinten durch beide Ohrläppchen in den Zeh geschossen...

Ich habe einmal zu den Funktionen aus meinen Links noch einmal kurz Google bemüht... Hier findest du eine fertige Lösung in C++, die exakt für den Zweck ist:
http://www.codeproject.com/Tips/2309...ss-with-Medium
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 14:54 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