RunAsAdmin und Manifest

03/03/2008 - 15:33 von Stefan Simon | Report spam
Hallo,

ich habe eine Anwendung "MeineAnwendung.exe" unter "C:\Program
files\MyStuff" und im gleichen Verzeichnis ein Manifest
"MeineAnwendung.exe.Manifest", das folgendes enthàlt:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
<v3:security>
<v3:requestedPrivileges>
<v3:requestedExecutionLevel level="requireAdministrator" />
</v3:requestedPrivileges>
</v3:security>
</v3:trustInfo>
</assembly>

UAC ist aktiviert. Starte ich nun die Anwendung, wird sie kommentarlos als
einfacher Benutzer ausgeführt. Erwartet hàtte ich die UAC-Abfrage "Zulassen
oder nicht". Starte ich die Anwendung mit einem Rechtsklick auf die
Anwendung und dem Punkt im Kontextmenü "als Administrator ausführen",
erhalte ich die Fehlermeldung "A referral was returned from the server".
Lösche ich das Manifest, funktioniert der Start über das Kontextmenü.

Erreichen möchte ich, das bei einem Doppelklick auf die Anwendung oder den
Link zu der Anwendung vom Desktop aus die UAC sich meldet und ich mit einem
Klick auf "Zulassen" die Anwendung als Administrator ausgeführt wird. Wie
kann ich das anstellen?

tia
Stefan
 

Lesen sie die antworten

#1 Thomas D.
05/03/2008 - 14:50 | Warnen spam
Hallo Stefan,

Stefan Simon schrieb:

ich habe eine Anwendung "MeineAnwendung.exe" unter "C:\Program
files\MyStuff" und im gleichen Verzeichnis ein Manifest
"MeineAnwendung.exe.Manifest", das folgendes enthàlt:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
<v3:security>
<v3:requestedPrivileges>
<v3:requestedExecutionLevel level="requireAdministrator" />
</v3:requestedPrivileges>
</v3:security>
</v3:trustInfo>
</assembly>

UAC ist aktiviert. Starte ich nun die Anwendung, wird sie kommentarlos als
einfacher Benutzer ausgeführt. Erwartet hàtte ich die UAC-Abfrage "Zulassen
oder nicht". Starte ich die Anwendung mit einem Rechtsklick auf die
Anwendung und dem Punkt im Kontextmenü "als Administrator ausführen",
erhalte ich die Fehlermeldung "A referral was returned from the server".
Lösche ich das Manifest, funktioniert der Start über das Kontextmenü.

Erreichen möchte ich, das bei einem Doppelklick auf die Anwendung oder den
Link zu der Anwendung vom Desktop aus die UAC sich meldet und ich mit einem
Klick auf "Zulassen" die Anwendung als Administrator ausgeführt wird. Wie
kann ich das anstellen?



Diese "v3:" Schreibweise ist mir unbekannt, ich nutze bspw.:

<?xml version="1.0" encoding="utf-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<!-- level can be "asInvoker", "highestAvailable", or "requireAdministrator" -->
<requestedExecutionLevel level="requireAdministrator" />
</requestedPrivileges>
</security>
</trustInfo>
</assembly>


Aber:
1) Bist du sicher, dass die Datei kein Manifest enthàlt? Enthàlt sie eines,
ignoriert sie das zusàtzliche. Anwendung die bspw. mit VS2008 gebaut
werden, beinhalten von Haus aus eines.

2) Wenn du irgendetwas am Manifest ànderst, musst du "MeineAnwendung.exe"
"touchen" [1]. Windows Vista cached die Manifeste. Alternativ: Reboot.


Siehe auch:
=[1] http://www.helge.mynetcologne.de/touch/index.htm


Grüße,
Thomas

Ähnliche fragen