M2Team/Privexec

--env 是否能覆盖系统的一些不可修改的环境变量?

wy16W2pIilK1xgqN opened this issue · 4 comments

已 %APPDATA% 为例,不少软件会默认在此写入文件,--env 参数能改变,目标程序对于这个目录的识别吗?
如果可行,该如何写。
我自己测试了,下面两种写法,是无效的。

wsudo.exe  --env   "APPDATA=D:\aaa"   firefox.exe
wsudo.exe  --env   "%APPDATA%=D:\aaa"   firefox.exe

我现在手上没有 Windows,你可以 wsudo.exe -e "APPDATA=D:\aaa" pwsh 然后看看 echo $env:APPDATA 的输出,应该会被修改,但问题在于,很多应用程序并不是通过环境变量而是通过 API 获取这个文件夹的,通常是 SHGetFolderPathW
而这个配置大多是写入注册表 Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,修改环境变量不见的有效。

谢谢解答,我大致理解了。💐
这个功能 类似于 "云端软件平台" 对软件的处理。
算是简易的虚拟化了😂
Privexec 项目有计划支持这个功能吗?

谢谢解答,我大致理解了。💐 这个功能 类似于 "云端软件平台" 对软件的处理。 算是简易的虚拟化了😂 Privexec 项目有计划支持这个功能吗?

这个并没有足够的人力支持,毕竟我的本职工作都已经够忙了,而且在公司都是 macOS

非常理解。🥹
谢谢你能费心回复我。

我关闭这个议题了。