Существует ли какой-либо инструмент исправления на основе cli, который может работать в Windows 7 без прав администратора?
Я пробовал следующие инструменты, но им обоим нужны права администратора.
Существует ли какой-либо инструмент исправления на основе cli, который может работать в Windows 7 без прав администратора?
Я пробовал следующие инструменты, но им обоим нужны права администратора.
Пакет git для Win32 поставляется с программой patch.exe, которая не запрашивает привилегии администратора. Пакет очень прост в установке даже для пользователей без прав администратора: есть портативная версия, которую нужно только распаковать в любом месте, и она готова к использованию.
Пакет также имеет некоторые другие полезные утилиты, портированные на Win32, так что вы получите, например. vim, cat, grep, sort, less, diff, diff3, cmp, curl, openssl, sha256sum, perl, все с близкой интеграцией с Windows.
Ни один из этих инструментов не требует прав администратора, это файл, который вы хотите исправить, доступен только для администратора. Посмотрите на разрешения NTFS для файла, я полагаю, что вы обнаружите, что только администраторы имеют право изменять его.
ОБНОВЛЕНИЕ: Мы живем, мы учимся. Я ошибся, patch.exe
требует повышения прав. Или, точнее, Windows считает, что для нее требуется повышение прав : как запретить Vista требовать повышения прав на patch.exe? ,
Создание внешнего манифеста для patch.exe
объявляющего requestedExecutionLevel
выполнения asInvoker
, не помогает. Но переименование во все, что не содержит patch
слова, делает. Попытайся.
Хотя переименование, безусловно, является опцией, большинство систем сборки автоматически вызывают 'patch' и ожидают, что это будет одинаковым вызовом на всех платформах. Таким образом, оставить оригинальное имя, безусловно, желательно в тех случаях, когда требуется автоматизация.
Использование XML-файла манифеста с расположенными рядом с patch.exe работает следующим образом (успешно протестировано на Win7 x64)
создайте новый текстовый файл и вставьте
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<!-- Make sure that UAC believes
that it does not require administrative privilege -->
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
назовите этот файл patch.exe.manifest