Mein Script läd eine Datein ("AutoIt-v3-Setup.exe") aus dem Internet, speichert sie in einem Unterordner des User-Temp-Verzeichnisses und soll sie dann starten. Die Setup.exe benötigt Adminrechte, die sie selbst nach ihrem Start anfordert.
Jedoch läuft der Befehl Run($sTargetDir & "Hallo Welt.exe", $sTargetDir) ins Leere, er macht rein gar nichts. Es kommt keine UAC-Meldung, keine Fehlermeldung, einfach nichts.
Mit ShellExecute funktioniert alles wie gewünscht: Die Setup.exe wird gestartet und fordert Adminrechte => das UAC-Abfrage-Vollbild erscheint. Nach dem Klicken auf Ja oder Nein beendet sich mein Script, das scheinbar von der UAC-Abfrage blockiert wurde. (Ist das so?)
Wie dem auch sei, mit ShellExecute habe ich eine Lösung, aber ich würde doch gerne wissen, warum "Run" NICHT funktioniert.
In der Shoutbox hatte ich die Frage gestellt, aber die Antworten wurden recht umfangreich, weshalb ich diesen Thread erstellt habe. Damit ich nicht durcheinander werfe, was verschieden User geantwortet haben, hier lediglich 1 Zitat aus der Shoutbox:
Wenn uac Abfrage kommt wird von der exe erhöhte Rechte angefordert. Wenn dein eigenes Skript kein #RequireAdmin hat dann bringt shellexecute die uac Abfrage und Run verwirft den Aufruf einfach wegen mangelnder Rechte. Also ganz normales Verhalten.