Sendkeys verzögern für runas.exe

RudolfG

Erfahrenes Mitglied
Hi,

ich hatte immer das Problem, das der Admin-Benutzer die Netzlaufwerke nicht kannte

Admin-Account hatte die Netzlaufwerke nicht verbunden, beim Benutzer aber schon. Wenn man jetzt Anwendungen als Admin startet, kennt er diese Laufwerke natürlich nicht. Was der Grund dafür sein kann, das es auch mit UNC-Pfaden nicht funktioniert kann ich dir leider nicht sagen....

Gruß
RudolfG
 

Meronax

Mitglied
Vielen dank rudolfG dein Tipp hat geholfen. Jetzt funktioniert alles wie es soll.

zusammenfassend falls noch einmal jemand vor diesem Problem steht dass Anwendungen unter einem Benutzer, z.B als Administrator, gestartet werden.

mit dem weg wie ihn Shakie beschrieben hat lässt sich ein anderer Benutzer angeben unter dem das Programm oder das Setup gestartet werden soll.

folgende Punkte sind zusätzlich zu beachten.
folgender Parameter muss bei myProcess gesetzt werden: startinfo.verb = "runas"
ansonsten wird das Programm nicht mit dem angegebenen Benutzerinformationen gestartet.

das Workingdirectory muss ebenso gesetzt werden. es Reicht jedoch aus wenn man dort nur "C:" angibt insofern für Startinfo.filename der volle pfad zur datei angegeben wird.

Wie von RudolfG beschrieben, ergibt sich ein Problem mit Netzlaufwerken falls die auszuführende Datei sich auf einem solchen befindet.
Entweder man gibt direkt den UNC-Pfad an, oder man verbindet das Laufwerk mit dem Benutzer mit dem das Programm ausgeführt werden soll.

Wenn man eine *.exe ausführen möchte, reicht es aus den ganzen Pfad zur Datei als parameter für myprocess.startinfo.filename zu übergeben.
Wenn man eine *.MSI Datei starten möchte, muss man für myprocess.startinfo.filename "msiexec" angeben und als Parameters dann "/i \\PFAD ZUR DATEI"
Wobei der Parameter "/i" natürlich gegen alle anderen Parameter getauscht werden kann die von MSIEXEC zur Verfügung gestellt werden. Ansonsten erhält man die Fehlermeldung dass es sich nicht um eine Gültige WIN32 Anwendung handeln würde.

Dies war der Grund warum es bei mir Probleme mit dem UNC-Pfad gab. Da ich ausschließlich mit .msi dateien probiert hatte.

Folgende Dinge führt mein Programm nun unter einem angemeldeten "Hauptbenutzer" anstandslos aus.

IP Druckerport einrichten
Drucker inkl. der Treiber installieren und dem Druckerport zuweisen.
.exe Dateien installieren
.msi Dateien Installieren

Diese simplen funktionen machen es einem Systemadmin doch erheblich einfacher die Computer zu administrieren, da man sich das ständige an- und abmelden sparen kann.


An dieser Stelle möchte ich euch allen noch einmal vielen Dank aussprechen. Ihr habt mir wirklich sehr geholfen mein Projekt umzusetzen.

lg
Phil
 
Zuletzt bearbeitet: