【问题标题】:Run commands as administrator from cygwin / mintty从 cygwin / mintty 以管理员身份运行命令
【发布时间】:2012-04-18 18:02:56
【问题描述】:

我在 Windows 7 的 cygwin 上运行 mintty。我将 mintty.exe 设置为始终“以管理员身份运行”。我正在尝试从 mintty 中运行 cmake 来构建 Visual Studio 11 解决方案。

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

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

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

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

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

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

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

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

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

在 mintty (admin) 中运行 cmake (non-admin) 会产生不同的错误(描述为 here),这基本上归结为 cl.exe 没有以管理员身份运行。启动 mintty 时出现管理员提示。

在 mintty(非管理员)中运行 cmake(管理员)会为 cmake 可执行文件生成 Permission denied

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

【问题讨论】:

  • 您可以发布您的编辑 2 作为您自己问题的答案。然而,这种行为很奇怪。

标签: windows-7 cygwin cmake uac mintty


【解决方案1】:

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

OP 写道:

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

现在为什么这适用于 cmd 而不是 mintty,即为什么管理员升级没有一直到 cl.exe 我不知道。

【讨论】:

    猜你喜欢
    • 2013-02-15
    • 2011-08-22
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    相关资源
    最近更新 更多