C# ProcessStartInfo动词运行方式不工作
以下代码有什么问题C# ProcessStartInfo动词运行方式不工作,c#,wpf,C#,Wpf,以下代码有什么问题 ProcessStartInfo startInfo = default(ProcessStartInfo); startInfo = new ProcessStartInfo(SetupProgramPath) { UseShellExecute = true, Verb = "runas", WindowStyle = ProcessWindowSty
ProcessStartInfo startInfo = default(ProcessStartInfo);
startInfo = new ProcessStartInfo(SetupProgramPath)
{
UseShellExecute = true,
Verb = "runas",
WindowStyle = ProcessWindowStyle.Normal,
CreateNoWindow = false
};
Process.Start(startInfo);
预计将提示输入凭据,但未显示任何内容。系统已启用UAC,不应更改。
我感谢你在这件事上的帮助。提前感谢。如果您想让用户输入其他用户的凭据,请使用“runasuser”:
我已经用下面的代码解决了这个问题
ProcessStartInfo startInfo = default(ProcessStartInfo);
startInfo = new ProcessStartInfo(SetupProgramPath)
{
UseShellExecute = true,
Verb = "runas",
WindowStyle = ProcessWindowStyle.Normal,
FileName = "msiexec",
Arguments = "/i \"" + SetupProgramPath + "\"",
CreateNoWindow = false
};
Process.Start(startInfo);
指定
=default(ProcessStartInfo)有什么意义代码>当您在下一行覆盖它时`这似乎不是问题。我也可以删除它。程序启动了吗?没有。如果我禁用UAC,我就可以启动程序了。但是,不建议这样做。他们试图以管理员而不是用户的身份运行。谢谢您的帮助。不幸的是,它没有起作用。它既不提示输入凭据,也不启动安装程序。我的安装程序驻留在网络中我想“SetupProgramPath”的值是错误的。只需先尝试使用本地应用程序,如“calc.exe”。然后尝试将安装应用程序的路径用作字符串文本。如果可以,请尝试修复填充“SetupProgramPath”的代码。很抱歉打扰您。当我禁用UAC并删除Verb=“runasuser”或Verb=“runas”时,它的效果非常好。现在的问题是在启用UAC的情况下运行程序。我可以无错误地访问路径。它与“calc.exe”或“regedit.exe”一起工作吗?如果是,请告诉我们设置程序的特殊之处。如果没有,请向我们展示一个完整且最小的示例,因为在这里可以使用。因此,您最初忘记设置文件名
,因此没有启动任何进程?这是运行方式
对我实际起作用的唯一方式。手动设置它和shell,如proc.StartInfo.Verb=“runas”代码>不起作用。
ProcessStartInfo startInfo = default(ProcessStartInfo);
startInfo = new ProcessStartInfo(SetupProgramPath)
{
UseShellExecute = true,
Verb = "runas",
WindowStyle = ProcessWindowStyle.Normal,
FileName = "msiexec",
Arguments = "/i \"" + SetupProgramPath + "\"",
CreateNoWindow = false
};
Process.Start(startInfo);