Windows 7 上无需管理员权限的修补工具

Windows 7 上无需管理员权限的修补工具

是否有任何基于 CLI 的修补工具可以在无需管理员权限的情况下在 Windows 7 中运行?

我尝试过以下工具但它们都需要管理员权限。

http://gnuwin32.sourceforge.net/packages/patch.htm

http://unxutils.sourceforge.net/

答案1

这些工具都不需要管理员权限,您要修补的文件只有管理员才能访问。查看该文件的 NTFS 权限,我相信您会发现只有管理员才有权修改它。

更新:我们活着,我们学习。我错了,patch.exe确实需要提升。或者更准确地说,Windows它需要提升:如何防止 Vista 要求提升 patch.exe 权限?

创建外部清单来patch.exe声明requestedExecutionLevelofasInvoker并没有什么用。但重命名为不包含 word 的任何内容patch都有用。试试看。

答案2

git 用于 Win32 软件包附带一个不需要管理员权限的 patch.exe 程序。该软件包非常容易安装,即使对于非管理员用户也是如此:有一个便携版本,您只需在任何地方解压即可使用。

该软件包还移植了一些其他有用的实用程序到 Win32,因此您可以获得例如 vim、cat、grep、sort、less、diff、diff3、cmp、curl、openssl、sha256sum、perl,所有这些都接近原生 Windows 集成。

答案3

虽然重命名当然是一种选择,但大多数构建系统会自动调用“patch”,并期望这在所有平台上都是相同的调用。因此,在需要自动化的情况下,保留原始名称肯定是可取的。

使用与 patch.exe 并排驻留的清单 XML 文件的工作方式如下(在 Win7 x64 上成功测试)

  1. 创建新的文本文件并插入

            <?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>
    
  2. 命名此文件patch.exe.manifest

  3. 确保patch.exe 最近被修改了看这里)重新下载,或触摸(看这里) 它。

相关内容