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