Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   requestedExecutionLevel im Manifest IDE-seitig einstellbar? (https://www.delphipraxis.net/177847-requestedexecutionlevel-im-manifest-ide-seitig-einstellbar.html)

Codehunter 30. Nov 2013 22:33

requestedExecutionLevel im Manifest IDE-seitig einstellbar?
 
Moin!

Ist es eigentlich möglich, den Eintrag für requestedExecutionLevel im Manifest IDE-seitig zu ändern? Standardmäßig steht der auf "asInvoker", ich brauche aber "requireAdministrator". Bisher mache ich das immer so, dass ich die kompilierte Exe einmal durch den ResEd schubse und den Eintrag da händisch ändere. Aber das kann ja nicht der Weisheit letzter Schluss sein, oder?

Grüße
Cody

EDIT: Ich habe inzwischen rausgefunden, wie man ein Manifest-XML einkompiliert. Insofern Frage erledigt. Ich nehme mal an, die Tatsache dass die IDE dann beim Starten meckert "Session disconnected" kommt daher, dass das System das eigene Programm dann in einen höheren Sicherheitskontext hievt als die IDE hat und der Debugger damit nicht mehr an den Thread heran kommt. Aber da ich das Einbinden des Manifestes über bestimmte Compilerschalter steuern kann, ist das auch kein Problem.

Bernhard Geyer 30. Nov 2013 23:00

AW: requestedExecutionLevel im Manifest IDE-seitig einstellbar?
 
Zitat:

Zitat von Codehunter (Beitrag 1238036)
Ich nehme mal an, die Tatsache dass die IDE dann beim Starten meckert "Session disconnected" kommt daher, dass das System das eigene Programm dann in einen höheren Sicherheitskontext hievt als die IDE hat und der Debugger damit nicht mehr an den Thread heran kommt.

Starte die IDE ebenfalls mit Adminrechten. Dann geht das Debuggen wieder.

himitsu 1. Dez 2013 07:52

AW: requestedExecutionLevel im Manifest IDE-seitig einstellbar?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1238041)
Starte die IDE ebenfalls mit Adminrechten.

Aufpassen, da die IDE-Einstellungen an den Benutzerkontext gebunden sind und das Adminkonto keine/andere Einstellungen besitzt. (keine = Standardeinstellungen)

Falls das öfters benötigt wird:
Kann man sich den RemoteDebugger eigentlich lokal installieren und diesen mit höheren Rechten laufen lassen?

Bernhard Geyer 1. Dez 2013 08:02

AW: requestedExecutionLevel im Manifest IDE-seitig einstellbar?
 
Zitat:

Zitat von himitsu (Beitrag 1238048)
Zitat:

Zitat von Bernhard Geyer (Beitrag 1238041)
Starte die IDE ebenfalls mit Adminrechten.

Aufpassen, da die IDE-Einstellungen an den Benutzerkontext gebunden sind und das Adminkonto keine/andere Einstellungen besitzt. (keine = Standardeinstellungen)

Das ist mir (bei D6) nicht aufgefallen. Wenn ich es per RunAs starte ist es ja noch das gleiche konto (Jedenfalls wenn man es per UAC-Elevated startet). Außer du meinst "unter anderen Konto laufen lassen".

Codehunter 1. Dez 2013 08:10

AW: requestedExecutionLevel im Manifest IDE-seitig einstellbar?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1238041)
Starte die IDE ebenfalls mit Adminrechten. Dann geht das Debuggen wieder.

In dem Fall wäre das auch eine Lösung, aber nicht auf Dauer. Ich möchte die meisten Projekte von Anfang an auf normale Benutzerrechte hin entwickeln und testen. Sonst flutscht einem aus Versehen noch so ein Ding durch wie z.B. Schreiben im Installationsordner.

Bernhard Geyer 1. Dez 2013 08:19

AW: requestedExecutionLevel im Manifest IDE-seitig einstellbar?
 
Zitat:

Zitat von Codehunter (Beitrag 1238051)
In dem Fall wäre das auch eine Lösung, aber nicht auf Dauer. Ich möchte die meisten Projekte von Anfang an auf normale Benutzerrechte hin entwickeln und testen. Sonst flutscht einem aus Versehen noch so ein Ding durch wie z.B. Schreiben im Installationsordner.

Dauerlösung sicherlich nicht. Aber hin und wieder benötigt man mal Funktionalität die Adminrechte benötigt. Und dort ist es das beste die IDE dann über das Kontextmenu des Links entsprechend zu starten.

Codehunter 1. Dez 2013 08:25

AW: requestedExecutionLevel im Manifest IDE-seitig einstellbar?
 
Moin Bernhard,

das seh ich ganz genauso. Wobei dann ein Teil meiner Eingangsfrage doch wieder interessant wäre: Kann man die Einstellung für requestedExecutionLevel tatsächlich NUR auf dem Wege ändern, dass man sein eigenes Manifest einbindet oder gibt es in den Projekteinstellungen doch irgendwo eine Option dafür? Ich bin nämlich nicht sicher, für was das Manifest sonst noch zuständig ist. Dann kompiliere ich ein selbst erstelltes Manifest ein das sich noch in anderen Punkten von der Projekt-Voreinstellung unterscheidet und such mich dann dumm und fusselig wenn was nicht läuft.

himitsu 1. Dez 2013 08:30

AW: requestedExecutionLevel im Manifest IDE-seitig einstellbar?
 
Ist mir aber im D7 aufgefallen.
Wenn ich da "Als Administrator ausführen" wähle, dann läuft das auch mit den Zugriffen des Adminkontos.
> Registry des Admins, freigegebene Verzeichnisse von dem usw.

Aber OK, wenn man selber mit einem Adminkonto unterwegs ist und da das Programm mit Adminrechten startet, dann ist es am ende das selbe Konto, nur mit vollen Rechten.

Bernhard Geyer 1. Dez 2013 08:34

AW: requestedExecutionLevel im Manifest IDE-seitig einstellbar?
 
Zitat:

Zitat von Codehunter (Beitrag 1238054)
Wobei dann ein Teil meiner Eingangsfrage doch wieder interessant wäre: Kann man die Einstellung für requestedExecutionLevel tatsächlich NUR auf dem Wege ändern, dass man sein eigenes Manifest einbindet oder gibt es in den Projekteinstellungen doch irgendwo eine Option dafür?

Ich ken keines. Es hat ja relati lange gedauert bit die TXPTheme-"Komponente" es zur Projektoption geschafft hat.

Zitat:

Zitat von Codehunter (Beitrag 1238054)
Ich bin nämlich nicht sicher, für was das Manifest sonst noch zuständig ist.

Mit jeder Windows-Version wirds mehr. Ab W8 muss man ja noch was eintragen damit die WinAPI-Funktionen zur bestimmung der Windows-Version auch wirklich die Version rausrücken.
Ansonst bekommt man nur maximal Win7 (oder wars Win8.0) mitgeteilt.

Zitat:

Zitat von Codehunter (Beitrag 1238054)
Dann kompiliere ich ein selbst erstelltes Manifest ein ...

Machen wir schon lang so. Erst war's das XP-Theming, dann das Deaktiviern des Pixel-Skalierungs"features" bei großen Schriftarten, dann die Elevation/Virtualisierung und jetzt kommt noch das "wir sind auch unter Winx.y lauffähig und müssen nicht veräppelt werden"

CCRDude 2. Dez 2013 07:09

AW: requestedExecutionLevel im Manifest IDE-seitig einstellbar?
 
Inzwischen ist's ja nicht nur das ExecutionLevel - auch die Kompabilitätsflags, die man seit Windows 8.1 im Manifest unterbringen soll, macht die IDE nicht. Hab ich schon 2006 ein QC-Ticket zu geschrieben - braucht man halt ein externes Manifest (kann man per {$R...} ja auch einkompilieren, ohne nachträglich das Kompilat zu modizifizieren).

Um ein nachträgliches Modifizieren des Kompilats kommt man aber bei Delphi eh nie rum, will man neuere Betriebssysteme als XP unterstützen. Stichwort codesigning etwa - da der Linker sich nicht an die PE-Spezifikation hält, kann man nicht per /ph signieren (siehe MS-Anforderungen bzgl. Zertifizierung) - auch in XE5 Update 1 noch nicht gelöst. Die Force Integrity und Dynamic Base-Flags kann man meines Wissens nach auch nur per nachträglichem Header-Patch setzen. Meines Erachtens alles sinnvolle (Code Injection vermeiden) bis notwendige (Zertifizierung) Dinge.

Windows Error Reporting oder Fast User Switching, notwendig für die MS-Zertifizierung seit Vista, wird auch noch nicht unterstützt (kann man aber selber hinbiegen), aber da schweife ich vom nachträglichen PE-Kompilat-modifizieren schon ab...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:57 Uhr.
Seite 1 von 2  1 2      

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