我运行的是 Windows 7,并且从不同的应用程序收到奇怪的错误,例如尝试卸载 VMware Workstation 会导致以下错误:
"Error in the lua script: [string "-------------------------------------------..."]:785: attempt to call global 'ReadRegistry' (a nil value)"
当我尝试运行 Process Explorer(它一直运行良好)时,我收到错误“无法提取 64 位映像。从可写目录运行 Process Explorer。”尽管我已在多个具有写入权限的目录中尝试过。只有当我以管理员身份启动它时,它才会正确运行。
我相信这可能是由于环境变量造成的,因为我在“路径”变量中添加了一条额外路径,以允许我从任何文件夹在 cmd 中轻松执行,但我不仅删除了它,还执行了系统还原,但仍然收到相同的错误。
这是系统的 PATH 变量:
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\GNU\GnuPG\pub;C:\Program Files (x86)\Nmap
这是用户 TEMP 变量:
C:\Users\Arron\AppData\Local\Temp
这些错误是由于我编辑环境变量引起的还是有其他问题?
编辑:我认为我已经找到问题所在,我使用进程监视器查看发生了什么,似乎没有任何内容可以写入我的本地临时文件夹。以下是以普通用户身份运行时的结果:
但以管理员身份运行时它会成功:
主要问题是我看不出临时文件夹的权限有什么问题,似乎每个人都有读写权限:
如果它们有帮助的话,我还获得了以用户和管理员身份启动的完整进程监视器日志。
答案1
我似乎找到了解决方案,不知何故我的 Temp 文件夹的权限发生了变化,所以我不再拥有完全控制权。现在我已将自己重新添加为拥有完全控制权,不再出现 Process Explorer 的错误。
答案2
如果设置了软件限制策略来阻止 exe 在文件夹中运行AppData\Local\Temp
,也会出现此错误。在这种情况下,可以在组策略中设置不受限制的路径规则,如下所示
本地计算机策略\计算机配置\Windows 设置\安全设置\软件限制策略\其他规则\C:\Users\Arron\AppData\Local\Temp\procexp64.exe
无需重新启动。