Hi,
da ist man mal kurz weg und hat gleich soviele Antworten, wow.
Also die EXE-Dateien welche ich starte haben natürlich alle ein gültiges Vista Manifest. Das Installationprogramm läuft als "asAdministrator" und das Hauptprogramm als "asInvoker". Das Problem ist nur, ist der Invoker Admin, dann läuft das Hauptprogramm auch als Admin.
Die Rechte werden scheinbar sowohl bei ShellExecute als auch bei CreateProcess verrebt (zumindest solange man nichts dagegen unternimmt). Nur weiß ich leider nicht, was ich dagegen unternehmen muss, deshalb meine Frage hier.
Bei CreateProcess scheint es zum Beispiel auch so zu sein, dass ein Programm welches im normalen Benutzerkontext arbeitet keinen Prozess erzeugen kann, welcher laut Manifest Administratorrechte benötigt. CreateProcess schlägt dann fehl (mit welcher Meldung genau weiß ich nicht mehr). Diesen Fall habe ich ja zum Beispiel, wenn das Hauptprogramm das Updatepaket herunterlädt und anschließend dann mit Setup.exe -update "MyZipPackage.zip" aufruft. Wenn man diesen Aufruf mit ShellExecute vornimmt erscheint korrekt die
UAC und fragt den Benutzer, ob er das ganze zulässen möchte und fordert noch das Administratorpasswort an.
Hat soetwas denn noch niemand gemacht?