我想创建自签名证书并使用c#程序安装它。 我使用 makecert 制作证书我将其作为管理员运行,并且我在 ProcessStartInfo.argument 中传递命令,但该命令不会执行代码中的问题?
这是我的代码:
public void Createasnewadmin()
{
ProcessStartInfo info = new ProcessStartInfo();
Process p = new Process();
info.FileName = Application.StartupPath+@"\makecert.exe";
info.UseShellExecute = true;
info.Verb = "runas"; // Provides Run as Administrator
info.Arguments = "makecert testCert_admin_check.cer";
//i just create sample certificate but it doesn't get created
//The problem is above line the command doesn't get execute
p.StartInfo=info;
p.Start()
}
请告诉我问题在于它不是以管理员身份执行的?或者要执行的命令没有正确传递?
我认为它正在以管理员身份执行,因为我自己点击“是”按钮以管理员的身份执行,这是由Windows提示
为什么命令没有执行?还有其他办法吗?
答案 0 :(得分:1)
看一下你的代码,我怀疑你收到错误,因为你的论点不正确。
你排队
info.Arguments = "makecert testCert_admin_check.cer";
应该是
info.Arguments = "testCert_admin_check.cer";
答案 1 :(得分:0)
我认为您需要提供凭据以在管理模式下调用进程。
UserName =“Administrator”,密码=,