Process.start() 打开文件时权限被拒绝 (C#)

Process.start() permission denied when opening file (C#)

我知道有一些关于类似案例的帖子,但那些不是我的,我会解释。

我正在尝试启动一个应用程序,该应用程序在启动时要求获得管理员权限,而我的应用程序也具有管理员权限。当我使用指定的按钮启动它时,出现如下图所示的错误。

我使用的代码是:

private void startESEA_Click(object sender, EventArgs e)
{
    // Inicio ESEA Cliente
    Process ESEA = new Process();
    ESEA.StartInfo.FileName = dESEAClient + "\eseaclient.exe";
    ESEA.Start();
}

我进入 Visual Studio 调试模式时出错

假设您没有访问该文件的权限,您可以强制您的应用 运行 具有管理权限。

只需将 Application Manifest FIle 添加到您的项目并对 <requestedExecutionLevel> 进行必要的更改。示例:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

或以管理员身份运行特定进程:

{
   Process p = new Process();
   p.StartInfo.FileName = filepathhere;
   p.StartInfo.UseShellExecute = true;
   p.StartInfo.Verb = "runas";
   p.Start();
 }

或者你可以简单地执行一个cmd命令:

 Process process = new System.Diagnostics.Process();
 ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
 startInfo.WindowStyle = ProcessWindowStyle.Hidden;
 startInfo.FileName = "cmd.exe";
 startInfo.Arguments = "runas /profile /user:usernamehere ""C:\programs\BBB.exe”"";
 process.StartInfo = startInfo;
 process.Start();

如果none以上工作,尝试设置FileAttribute

 File.SetAttributes(filepath, FileAttributes.Normal);