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 :
圖1 運行powershell

圖2 :
圖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:改注冊表

  1. Win+R打開運行對話框
  2. 輸入 regedit 打開注冊表並且導航到:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge
  3. 在右邊窗口中,右鍵單擊新建>DWORD(32位)值,雙擊創建的新值,然后將新值名稱改為 RendererCodeIntegrityEnabled 並將值數據輸入為 0(默認創建的也為0)
  4. 重啟Edge

方法2:修改可執行文件名

找到 Edge 的安裝位置,一般在 C:\Program Files (x86)\Microsoft\Edge\Application\ 這個目錄,把 edge.exemsedge.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

參考資料:


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,保存在桌面。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM