Microsoft Edge 或 Chrome 无法使用 出现 STATUS_INVALID_IMAGE_HASH.
解决方案
Start-Process powershell -Verb runAs
Remove-Item msedge.VisualElementsManifest.xml -Force
Set-Clipboard -Value 'cd "C:\Program Files (x86)\Microsoft\Edge\Application"
Remove-Item msedge.VisualElementsManifest.xml -Force
Copy-Item "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" "C:\Program Files (x86)\Microsoft\Edge\Application\chrome.exe" -Force
.\chrome.exe --disable-features=RenderCodeIntegrity'
- 将以上代码保存为 edge.ps1, 放在
e:\my_bin
目录下,这个目录是我用来存放可以直接在 cmd 中运行的命令的。 因此必须将e:\my_bin
添加到系统path
中。 - 随意打开一个powershell。 比如 win+R 打开运行, 输入powershell。 图1
- 在 Powershell 窗口中输入
edge
回车。这是会要管理员权限,点是。 图2 - 此时会弹出一个新的powershell,但是是带有管理员身份的。标题是:
管理员 Windows Powershell
- 在这个 新的 Powershell 窗口右击。(因为此时你的剪贴已经被覆盖为代码了),然后回车。
- 可能(而且一定)会有错误的红字,但是最后一句话一定是:
.\chrome.exe --disable-features=RenderCodeIntegrity
,见图3 - 回车。edge就能用了。
图1 :
图2 :
图3:
问题
下载个浏览器容易么。 https://www.microsoft.com/zh-cn/edge?form=MY01BV&OCID=MY01BV
一打开居然是这样:
找了许多方法,试了很多次,终于解决了,以下各种方法基本都可用。但是注意在行动之前——————
- 一定要关闭所有基于chromium的浏览器!
- 一定要关闭所有基于chromium的浏览器!
- 一定要关闭所有基于chromium的浏览器!
- 一定要关闭所有基于chromium的浏览器!
- 一定要关闭所有基于chromium的浏览器!
- 一定要关闭所有基于chromium的浏览器!
- 一定要关闭所有基于chromium的浏览器!
- 一定要关闭所有基于chromium的浏览器!
包括edge, chrome, 或者国产套壳浏览器。
不仅仅是桌面应用,有时关闭了可见桌面应用也会有后台应用,此时打开任务管理器: ctrl+shift_esc
看到chrome, chromium, edge 把他们统统统统统统杀光光。
方法1:改注册表
- Win+R打开运行对话框
- 输入 regedit 打开注册表并且导航到:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge
- 在右边窗口中,右键单击新建>DWORD(32位)值,双击创建的新值,然后将新值名称改为 RendererCodeIntegrityEnabled 并将值数据输入为 0(默认创建的也为0)
- 重启Edge
方法2:修改可执行文件名
找到 Edge 的安装位置,一般在 C:\Program Files (x86)\Microsoft\Edge\Application\
这个目录,把 edge.exe
或 msedge.exe
修改为 chrome.exe
再启动。
此时桌面上快捷方式可能不再可用,再发送到桌面一个快捷方式即可。
方法3:--disable-features=RendererCodeIntegrity
打开 powershell 或 cmd, 切到安装目录(一般是在 C:\Program Files (x86)\Microsoft\Edge\Application\
),输入 .\msedge.exe --disable-features=RendererCodeIntegrity
启动 edge
这样启动就可以正常运行啦。但每次这样运行可能比较麻烦,可以 建立一个 edge.ps1
的脚本程序:
start-process -FilePath "C:\Program Files (x86)\Microsoft\Edge\Application\chrome" -ArgumentList "--disable-features=RenderCodeIntegrity"
这样每次运行这个脚本就可以。可以将这个脚本所在的文件夹添加到Path,这样每次用 powershell 运行很方便。
注意初次使用powershell运行脚本可能会有权限问题。使用
Get-ExecutionPolicy
查看策略。详见: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7
参考资料:
- https://answers.microsoft.com/zh-hans/microsoftedge/forum/all/想尝试下edge下/265e4ad2-a03a-405f-b2b1-f9a24324af47
- https://textslashplain.com/2019/09/27/aw-snap-every-tab-crashes/
2020年6月19日更新
以下是我的最新实践。
当前版本是 83.0.478.45 ,Win10企业版,直接打开,依然无法打开任何网页(甚至是本地离线网页)。
首先打开Edge的位置,在开始菜单右击 -> 更多 -> 打开文件位置。
此时只是打开了快捷方式所在的位置,再次在图标上右击 -> 打开文件所在的位置
就到了这个文件夹: C:\Program Files (x86)\Microsoft\Edge\Application, edge就是 msedge.exe,此时我们就已经得到了所有想要拿到的东西了。
win+R
,输入 cmd 打开命令行。 或者输入 powershell, 打开 powershell- 输入以下命令:
cd "C:\Program Files (x86)\Microsoft\Edge\Application"
,切到 msedge.exe 所在的文件夹 - 再输入以下命令:
./msedge.exe --disable-features=RenderCodeIntegrity
,启动 Edge
此时就可以正常打开edge了。部分情形下可能会有失效的情况,一般都是chrome浏览器或者chromium浏览器没有关闭,或者有后台应用。
但是每次都输入这两个命令比较麻烦,可以打开一个记事本,输入以上两条命令,命名为 fake_edge.cmd,保存在桌面。