从cygwin / mintty以管理员身份运行命令

时间:2012-04-05 00:25:52

标签: windows-7 cygwin cmake uac mintty

我在Windows 7中对cygwin运行时已经运行了。我将mintty.exe设置为始终以“以管理员身份运行”。我试图从内部运行cmake来构建Visual Studio 11解决方案。

但是,当cmake尝试进行测试时,编译失败,因为 CL.exe 没有足够的权限来运行。我已经设置 cmake.exe devenv.exe 以及我在磁盘上找到的所有 CL.exe 始终以“以管理员身份运行” ,但它没有帮助。

当我从使用管理员权限启动的Windows命令行运行相同的cmake命令时,它会成功。这告诉我cmake和CL可执行文件设置正确,但以某种方式从mintty / cygwin调用它们会在没有管理员权限的情况下启动它们。

关于如何设置cygwin以使用“以管理员身份运行”设置启动所有外部可执行文件的任何想法?

编辑:有关我尝试的组合及其结果的更多信息。

在cmd(非管理员)中运行cmake(非管理员)会产生Could not COPY_FILE错误,描述为here。建议的解决方案是以管理员身份运行devenv.execmake.exe

在cmd(admin)中运行cmake(非管理员)有效。当命令行打开时,我得到管理员提示,没有提示运行cmake。

在cmd(非管理员)中运行cmake(admin)有效。弹出一个新的命令窗口,我得到管理员提示符来运行cmake。

在cmd(admin)中运行cmake(admin)有效。当命令行打开时,我得到管理员提示,没有提示运行cmake。

以精简(非管理员)运行cmake(非管理员)与非管理员cmd中的非管理员cmake产生相同的结果。

在mintty(admin)中运行cmake(非管理员)会产生一个不同的错误(描述为here),基本上归结为cl.exe未以管理员身份运行。我在启动mintty时得到了管理员提示。

以精简(非管理员)运行cmake(admin)会导致Permission denied cmake可执行文件。

在mintty(admin)中运行cmake(admin)会产生与非管理员cmake和admin mintty相同的结果。

1 个答案:

答案 0 :(得分:1)

(在问题编辑中由OP回答。转换为社区维基答案。请参阅Question with no answers, but issue solved in the comments (or extended in chat)

OP写道:

  

好的,我设法“解决”它。问题是我一直以管理员身份运行Visual Studio 11。 (我这样做,所以我可以将调试器附加到具有管理员权限的正在运行的进程,这是我工作所需要的。)当VS11始终以管理员身份运行时,它需要以管理员身份运行cmake,这又需要cmdmintty以管理员身份运行。

     

现在为什么这适用于cmd而不是mintty,也就是为什么管理员升级没有完全传达到cl.exe我不知道。