gpt4 book ai didi

d - 为什么 patch.d 需要管理员权限?

转载 作者:行者123 更新时间:2023-12-02 04:05:55 25 4
gpt4 key购买 nike

我在 Windows 8.1 上运行 DMD32 D 编译器 v2.071.1(最新更新为 2016 年 9 月 19 日)。

当我编译文件名中包含“patch”的 D 文件时,生成的可执行文件要求管理员权限。为什么?


如果我将我的文件命名为 foo.d,一切都很好:

C:\Users\sorbet\Desktop> echo int main(string[] argv) { return 0; } > foo.d
C:\Users\sorbet\Desktop> dmd foo.d
C:\Users\sorbet\Desktop> foo.exe
C:\Users\sorbet\Desktop> echo %ERRORLEVEL%
0

但是如果我将它命名为patch.d,突然我需要管理员权限:

C:\Users\sorbet\Desktop> echo int main(string[] argv) { return 0; } > patch.d
C:\Users\sorbet\Desktop> dmd patch.d
C:\Users\sorbet\Desktop> patch.exe

UAC

嗯?


如果我将其命名为文件名中包含“patch”的名称,如 foopatch.d,也会发生这种情况。为什么会发生这种情况,我可以禁用它吗?

最佳答案

这与 D 语言或 DMD 无关。它是 Windows 中的一项“功能”。Windows 检查要执行的可执行文件的文件名是否为/具有 setup.exe*-setup,或 installer.exe *-installer 在里面。这同样适用于 patch。 Windows 假定由于设置/安装程序/补丁等程序通常需要管理权限,因此它会向用户(您)询问管理权限。

TL;DR:Windows 假定程序需要管理权限,如果名称具有 setupinstallerpatch 等。只是更改文件名,它将被修复。

关于d - 为什么 patch.d 需要管理员权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39583753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com