Почему patch.d требует прав администратора?

Я использую DMD32 D Compiler v2.071.1 в Windows 8.1 (последнее обновление от 19.09.2016).

Когда я компилирую файл 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

ОАК

Хм?


Это также происходит, если я назову его чем-то, что содержит «патч» в имени файла, например foopatch.d. Почему это происходит и можно ли это отключить?


person sorbet    schedule 19.09.2016    source источник
comment
Вероятно, это то же самое, что вызывает файлы с именем install.exe и update.exe для запроса прав администратора. Попробуйте переименовать файл во что-то совершенно другое.   -  person Colonel Thirty Two    schedule 20.09.2016


Ответы (1)


Это не связано с языком D или DMD. Это «функция» в Windows. Windows проверяет, есть ли в имени исполняемого файла setup.exe или *-setup, или installer.exe, или *-installer имя исполняемого файла. То же самое относится и к patch. Windows предполагает, что, поскольку такие программы, как программы установки/установки/исправления, обычно требуют прав администратора, она запрашивает права администратора у пользователя (вас).

TL;DR: Windows предполагает, что программе нужны административные привилегии, если имя имеет setup, installer, patch и т. д. Просто измените имя файла, оно будет исправлено.

person Nafees    schedule 20.09.2016
comment
В зависимости от того, какую версию Windows вы используете, вы должны иметь возможность изменить настройки UAC или измениться, чтобы не быть администратором, чтобы эти надоедливые подсказки не появлялись. Я всегда работаю без прав администратора и имею другую учетную запись администратора, а запрос на повышение прав UAC был отключен. - person Cecil Ward; 30.09.2016