Forum: Win32/Win64 API (native code)
Delphi
by Bernhard Geyer,
24. Okt 2014
Kaum hat man den C-Code umgesetzt, schon verwendet man zufälligerweise den RIchtigen Suchbegriff und kommt auf schon fertigen Quellcode:
http://stackoverflow.com/questions/514968/how-to-run-a-process-non-elevated-with-delphi2007
Forum: Win32/Win64 API (native code)
Delphi
by Bernhard Geyer,
24. Okt 2014
Und wie genau? Normal gibt man ja nur "runas" an. Aber wie gibt man "runas 'mit Useraccount mit der Installer gestartet wurde'"
OK. Befehl(!) überlesen ....
Forum: Win32/Win64 API (native code)
Delphi
by Bernhard Geyer,
24. Okt 2014
Das ist ja das Problem. ShellExecute vererbt ja die Elevation.
Hab da einen Eintrag gefunden der das Problem beschreibt: http://sourceforge.net/p/nsis/feature-requests/520/
Und im Verlinkten Blog-Eintrag http://blogs.msdn.com/b/aaron_margosis/archive/2009/06/06/faq-how-do-i-start-a-program-as-the-desktop-user-from-an-elevated-app.aspx gibt ein Beispielprojekt das eine 100 (!)...
Forum: Win32/Win64 API (native code)
Delphi
by Bernhard Geyer,
24. Okt 2014
Bei CreateProcess wurden die Rechte (immer?) vererbt. Bei ShellExecute nicht (hier wird die Shell beauftragt den Prozess zu starten).
Jedenfalls war ich bisher immer Felsenfest davon überzeugt das es so ist.