我正在开发一款Mac应用程序,旨在安装多个软件。
为此,我要安装Homebrew(https://brew.sh)。
问题很简单:运行脚本/安装程序代码我找到了两种方法:
1)Process.Start("执行的事情")
2)Security.Authorization.Create()... ExecuteWithPrivileges。
实际上,我是,例如使用此代码安装HomeBrew。
var defaults = Security.AuthorizationFlags.Defaults;
using (var auth = Security.Authorization.Create(defaults))
{
var args = new[] { "BrewInstall.sh" };
var ret = auth.ExecuteWithPrivileges("/bin/sh", defaults, args);
}
我面临的问题非常简单:当我尝试(稍后)使用HomeBrew时,我发现一切都是由一个奇怪的用户执行的,我无法访问App本身。
有没有办法将一部分代码作为SUDO执行?当我尝试将它放入外部命令时,我得到一个类似" sudo的错误:你必须有一个tty来运行sudo"
我检查了Apple文档,但我无法找到解决此问题的任何内容。如果我尝试更改Security.AuthorizationFlags,系统不再提示我输入凭据,而且它根本不再工作。
谢谢