top of page

Exe-Datei aus anderem Prozess starten / Start exe file from another process

(alle Versionen/all versions)

Donnerstag, 24. November 2022

Deutsch

Fehlermeldung / Situation

Ursache

Lösungsoptionen

#1 .net-Exe über Impersonation mit einem anderen Anwender öffnen, der höhere Rechte besitzt

#2 Rechte für die Anwender vergeben


English

Error message / situation

Reason

Possible solutions

#1 Open .net exe via impersonation with another user who has higher privileges

#2 Assign rights for the users


Deutsch

Fehlermeldung / Situation

Das Ausführen einer .net-Exe aus einem anderen laufenden Prozess, z.B. aus einem Sage ERP Frontend, funktioniert ausschließlich bei bestimmten Anwendern.

Manche Anwender erhalten die Fehlermeldung (sinngem), dass für die Ausführung der Aktion höhere Rechte erforderlich sind.


Ursache

Diverse Windows-Schutzmechanismen und Active Directory- bzw. Berechtigungsregeln können das Ausführen von Anwendungen erschweren oder sogar ganz verhindern.

Allen voran die Windows "User Account Control" (UAC).


Lösungsoptionen

Anmerkung: Unabhängig von allen Lösungsmöglichkeiten sollte jede. net-Framework-Anwendung bekanntermaßen mit einem App-Manifest ausgestattet sein, welches es der "User Account Control" von Windows anzeigt, welche Rechte die Anwendung verlangt.


#1 .net-Exe über Impersonation mit einem anderen Anwender öffnen, der höhere Rechte besitzt

Diese Technik funktioniert in vielen Umgebungen nur bedingt (oder oft gar nicht!), weil es inzwischen auch für die Impersonation aus laufenden Anwendungsprozessen auch viele Beschränkungen gibt.

Vor allem auf Server-Systemen und innerhalb von Active Directories.


#2 Rechte für die Anwender vergeben

Um einen Start der .net-Exe zu ermöglichen, sind zahlreiche Berechtigungen nowendig.

Erschwerend kommt hinzu, dass .net-Exe-Dateien bekanntermaßen keine "echten" EXE-Dateien sind, sondern eigentlich Runtime-Scripte, die eben durch die .NET CLR (Runtime von .NET) interpretiert, teils "zwischenkompiliert" und dann ausgeführt werden.

Nachfolgender Artikel greift das Thema der notwendigen Berechtigungen auf:

Beschreibung der notwendigen Rechte


Im Wesentlichen:

... when an executable file is a script, then the actually required access rights are "execute" on the interpreter, and "read" on the script file. The OS will also require the "execute" right on the script file before accepting to locate and launch the interpreter.

English

Error message / situation

Running a .net exe from another running process, e.g. from a Sage ERP frontend, only works for specific users.

Some users receive the error message that higher rights are required to perform the action.


Reason

Various Windows protection mechanisms and Active Directory or authorization rules can make it difficult or even completely prevent the execution of applications.

Above all, the Windows "User Account Control" (UAC).


Possible solutions

Note: Regardless of all possible solutions, each. net Framework application is known to be equipped with an app manifest, which shows the "User Account Control" of Windows what rights the application requires.


#1 Open .net exe via impersonation with another user who has higher privileges

In many environments, this technique only works to a limited extent (or often not at all!) because there are now many restrictions for impersonation from running application processes in Microsoft Windows, especially on server systems and within Active Directories.


#2 Assign rights for the users

Numerous permissions are required to enable the .net exe to start.

A further complication is that .net exe files are not known to be "real" exe files but actually runtime scripts, which are interpreted by the .net CLR (=runtime of .net), partly "compiled in between" and then executed.

The following article takes up the topic of the necessary permissions:

Beschreibung der notwendigen Rechte


In essence:

... when an executable file is a script, then the actually required access rights are "execute" on the interpreter, and "read" on the script file. The OS will also require the "execute" right on the script file before accepting to locate and launch the interpreter.


bottom of page