Ich versuche, einen Dienst mit InstallUtil.exe zu installieren, werde aber über aufgerufen Process.Start
. Hier ist der Code:
ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);
Wo m_strInstallUtil
ist der vollständig qualifizierte Pfad und die Exe zu "InstallUtil.exe" und strExePath
ist der vollständig qualifizierte Pfad / Name zu meinem Dienst.
Das Ausführen der Befehlszeilensyntax an einer Eingabeaufforderung mit erhöhten Rechten funktioniert. Das Ausführen von meiner App (unter Verwendung des obigen Codes) funktioniert nicht. Ich gehe davon aus, dass ich ein Problem mit der Prozesserhöhung habe. Wie würde ich meinen Prozess in einem erhöhten Zustand ausführen? Muss ich mir das ansehen ShellExecute
?
Dies ist alles unter Windows Vista. Ich führe den Prozess im VS2008-Debugger aus, der auf Administratorrechte erhöht ist.
Ich habe auch versucht einzustellen, startInfo.Verb = "runas";
aber es schien das Problem nicht zu lösen.
startInfo.UseShellExecute = true;
, hatstartInfo.Verb = "runas";
es für mich gut funktioniert.