我正试图使用通过Process.Start
调用的InstallUtil.exe安装一个服务。这是代码:
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";
之后,它对我来说运行得很好。 - Matt