Я намагаюся встановити службу за допомогою InstallUtil.exe, але викликається через Process.Start
. Ось код:
ProcessStartInfo startInfo = new ProcessStartInfo (m_strInstallUtil, strExePath);
System.Diagnostics.Process.Start (startInfo);
де m_strInstallUtil
є повністю кваліфікований шлях та exe до "InstallUtil.exe", і strExePath
це повністю кваліфікований шлях / ім'я до моєї служби.
Запуск синтаксису командного рядка з підвищеного командного рядка працює; працює з мого додатка (використовуючи вищевказаний код) не робить. Я припускаю, що я маю справу з деяким питанням піднесення процесу, тож як би я запустив процес у підвищеному стані? Чи потрібно на це дивитися ShellExecute
?
Це все на Windows Vista. Я запускаю процес у відладчику VS2008, підвищеному до права адміністратора.
Я також спробував налаштування, startInfo.Verb = "runas";
але це, здається, не вирішило проблему.
startInfo.UseShellExecute = true;
на додаток доstartInfo.Verb = "runas";
цього, він добре працював для мене.