首页 文章

带有凭据的C#Process.Start因访问被拒绝而失败

提问于
浏览
0

我在C#中有一个Win Forms应用程序,它运行在员工PC上 . 在应用程序中,我使用Process.Start调用另一个可执行文件,但我传递了具有域管理员权限的用户的用户名和密码,因为员工没有运行可执行文件的权限 .

可执行文件位于C上的文件夹中:

exe在Windows XP计算机上成功启动,但在Windows 7上因“访问被拒绝”错误而失败 . 我找不到解决方案 . 任何的想法?

try
        {
            var pass = new SecureString();
            pass.AppendChar('b');
            pass.AppendChar('l');
            pass.AppendChar('a');
            pass.AppendChar('b');
            pass.AppendChar('l');
            pass.AppendChar('a');

             var pro = new ProcessStartInfo
            {
                FileName = AppDomain.CurrentDomain.BaseDirectory + "myExe.exe",
                UserName = "username",
                Password = pass,
                Domain = "domain",
                UseShellExecute = false,
                RedirectStandardError = true,
                RedirectStandardOutput = true,
               RedirectStandardInput = true
            };
             Process.Start(pro); 

        }
        catch (Exception x)
        {
            MessageBox.Show("Failed to call updater.\n" + Help.ErrorMsg(x)); Application.Exit();
        }

1 回答

相关问题