Wie konfiguriere ich meine Anwendung so, dass sie automatisch als Administrator ausgeführt wird?

9

Ich habe mit der Winrar SFX-Funktion eine Patch-Datei mit einer ausführbaren Datei erstellt.
Nach dem Ausführen der SFX-Datei und dem Ende der Extraktion wird meine ausführbare Datei nie ausgeführt, da sie keine Administratorrechte besitzt. Ich frage mich, wie ich dem Administrator über eine Programmiermethode (wie eine Batch-Datei) Zugriff auf diese Datei gewähren kann.

Ich weiß, dass ich mit der rechten Maustaste darauf klicken, zu "Eigenschaften" gehen, die Registerkarte "Kompatibilität" auswählen und dann das Kontrollkästchen "Als Administrator ausführen" aktivieren kann.

Das Problem ist, dass die Benutzer, die diesen Patch herunterladen, ihn nicht kennen (und meine Exe nur ausgeführt wird, wenn Sie mit der rechten Maustaste darauf klicken und "Als Administrator öffnen" auswählen, andernfalls wird das UAC-Popup niemals geöffnet oder angezeigt).

Ich habe einige Möglichkeiten ausprobiert, wie den "Elevator Runner (Elevate me)" usw., aber ich suche tatsächlich nach etwas Einfacherem als.
Ich muss nur dafür sorgen, dass die Exe immer als Administrator ausgeführt wird.

Rafael Vidal
quelle
2
Hinweis für Mods: Hier ist keine Migration zu SO erforderlich.
Karan

Antworten:

15

Sie müssen lediglich ein Anwendungsmanifest in die EXE-Datei einbetten .

  1. Speichern Sie Folgendes als Textdatei mit dem Namen App.exe.manifest :

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
        <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
            <security>
                <requestedPrivileges>
                    <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
                </requestedPrivileges>
            </security>
        </trustInfo>
    </assembly>
    
  2. Laden Sie das Windows SDK herunter.

  3. Im Inneren finden Sie mt.exe, dh das Manifest Tool . Rufen Sie es wie folgt auf:

    mt.exe -manifest "App.exe.manifest" -outputresource:"App.exe";#1
    
  4. Wenn es keine Fehler gibt, sind Sie fertig. Sie können die Manifestdatei löschen und nur die EXE-Datei verteilen. Wenn Sie es ausführen, sollte es jedes Mal automatisch den Administratorzugriff anfordern.

Quelle

Karan
quelle
Ich werde es testen. Ist es übrigens möglich, dieses "Manifest" ein bisschen besser zu machen? Möchten Sie es als Administrator ausführen, ohne den Administratorzugriff anzufordern? Vielen Dank
Rafael Vidal
Das heißt, Sie möchten, dass es sich stillschweigend erhöht und Administratorzugriff erhält? Wenn Sie die Benutzerkontensteuerung nicht deaktivieren, ist dies nicht möglich. Was wäre sonst der Sinn der Benutzerkontensteuerung, und glauben Sie nicht, dass jede Malware dies tun würde?
Karan
Ich verstehe Ihren Standpunkt, aber ich weiß, dass es Möglichkeiten gibt ... nicht einfach sicher, aber es gibt, wie das "Elevate Me" -Programm ... Wie auch immer, es reicht vorerst aus, die Exe als Administrator auszuführen. Wirklich danke im Voraus
Rafael Vidal
1
Alle derartigen Programme zur Umgehung der Aufforderung zur Erhöhung verwenden den bekannten Taskplaner-Trick, für den Administratorzugriff erforderlich ist. Da Sie dies auf einem beliebigen PC tun möchten, auf dem Ihre SFX ausgeführt wird, können Sie die geplante Aufgabe ohne die Zustimmung des Standardbenutzers nicht stillschweigend erstellen. Wenn ein Programm dies auf meinem PC tun würde (stillschweigend eine geplante Aufgabe erstellen, um die Benutzerkontensteuerung zu umgehen), würde ich es sofort als Malware klassifizieren und löschen.
Karan
Ziemlich guter Karan, hat perfekt funktioniert. Ich würde Ihnen nur empfehlen, der Antwort die Notwendigkeit hinzuzufügen, CMD als ADMIN auszuführen, sonst funktioniert es nicht ... Nochmals vielen Dank
Rafael Vidal
2

Fordern Sie beim Erstellen Ihres Archivs den Administratorzugriff an .Geben Sie hier die Bildbeschreibung ein

MDMoore313
quelle
MDMoore313, danke für deine Zeit, aber ich glaube, ich habe mich nicht gut erklärt. Ich muss SFX nicht als Administrator ausführen. Ich muss eine bestimmte Datei als admin ("my_app.exe") ausführen, die sich in der SFX-Datei befindet. Der Punkt ist, dass ein Doppelklick auf diese Datei sie nicht zum Laufen bringt. Die einzige Möglichkeit, es auszuführen, besteht darin, mit der rechten Maustaste darauf zu klicken und "Als Administrator ausführen" zu wählen
Rafael Vidal
@RafaelVidal startet der SFX Ihre Anwendung? Wenn ja, hat Ihre App Administratorrechte. Wenn nicht, werde ich meine Antwort aktualisieren.
MDMoore313
Nein, die Anwendung wird nicht gestartet. Der Benutzer muss dies manuell tun, damit er das Kontrollkästchen "Als Administrator ausführen" auf der Registerkarte "Kompatibilität" aktivieren oder mit der rechten Maustaste auf das Kontextmenü "Als Administrator ausführen" klicken kann
Rafael Vidal
@RafaelVidal Gibt es einen Grund, warum WinRAR die Exe nicht starten soll und der Benutzer nur die SFX selbst ausführen soll? Es scheint, als würde dies das gleiche Ziel erreichen und Ihr Administratorproblem lösen. Wenn Sie sich immer noch darauf konzentrieren, Ihr Programm als Administrator zu kennzeichnen, haben Sie bessere Chancen auf eine Antwort auf den Stapelüberlauf (
kennzeichnen Sie
Die SFX startet die Datei, aber die Benutzer können diese Datei später selbst ausführen, und dann gibt es keine SFX, für die sie ausgeführt werden kann. Aus diesem Grund muss die Exe als "Als Administrator ausführen" gekennzeichnet werden
Rafael Vidal,