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