最近強者同事大推使用 Visual Studio Code,不管是用編輯 Markdown 或是開發 C# 後端都是十分好用,也分享不少好用的套件與工具,但這兩天在使用 Visual Studio Code 關閉時都會跳出 'Failed to create file handle: 程序無法存取檔案,因為檔案正由另一個程序使用) ,這篇就就針對此問題的解決方式做簡單分享,若是有不清楚或是錯誤的地方歡迎討論予糾正。
解決方法
異常發生時畫面如下
根據錯誤訊息提供的線索,異常原因是因為應用程式無法存取檔案,因為被別的程式正在使用的緣故,發生問題當下立刻開啟工作管理員,確認是否有 Visual Studio Code 未關閉的狀況,但事情發生當下並未發現任何相關應用程式,好的,宣告猜測失敗 ! 再接再厲繼續看下一個線索,失敗時有 Log 記錄其錯誤訊息,資料夾在 C:\User\yourName\AppData\Local\Temp\vscode-inno-updater-1555079909.log ,開啟後資訊如下
Apr 12 22:38:29.294 INFO Starting: C:\Users\marcustung\AppData\Local\Programs\Microsoft VS Code\Code.exe, true Apr 12 22:38:29.299 INFO Checking for running Code.exe processes... (attempt 1) Apr 12 22:38:29.321 INFO Code.exe is running, wait a bit Apr 12 22:38:29.821 INFO Checking for running Code.exe processes... (attempt 2) Apr 12 22:38:29.871 INFO Code.exe is running, wait a bit Apr 12 22:38:30.372 INFO Checking for running Code.exe processes... (attempt 3) Apr 12 22:38:30.422 INFO Code.exe is not running Apr 12 22:38:30.423 INFO Checking for possible conflicting running processes... (attempt 1) Apr 12 22:38:30.469 INFO Inno Updater v0.7.1 Apr 12 22:38:30.470 INFO Starting update, silent = true Apr 12 22:38:30.600 INFO do_update: "C:\\Users\\marcustung\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe", _ Apr 12 22:38:30.600 INFO move_update: "C:\\Users\\marcustung\\AppData\\Local\\Programs\\Microsoft VS Code\\unins000.dat", _ Apr 12 22:38:30.601 INFO Reading directory: "C:\\Users\\marcustung\\AppData\\Local\\Programs\\Microsoft VS Code" Apr 12 22:38:30.602 INFO Get file handle: "C:\\Users\\marcustung\\AppData\\Local\\Programs\\Microsoft VS Code\\api-ms-win-core-console-l1-1-0.dll" (attempt 1) .....這行不斷重複省略 Apr 12 22:39:32.656 INFO Get file handle: "C:\\Users\\marcustung\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe" (attempt 16) Apr 12 22:39:51.487 ERRO Failed to create file handle: 程序無法存取檔案,因為檔案正由另一個程序使用。看完似乎發現針對 Code.exe 一直進行卡住關係,在透過此關鍵字詢問 Google 大神,發現 Windows update failed: Access is denied #47841 討論串中情境相似,部分異常的用戶提到環境是 Windows 10 且升級到 1809 版本,有些人說是瀏覽器 Vivaldi 緣故,也有人懷疑是 Windows Defender 關係,但陸續都有人跳出來反駁這些說法,遺憾的是文章最後並未找到真正問題團隊會在繼續追蹤,文末最後建議是關閉 Visual Studio Code 自動更新機制,關閉方式如下
Step 1 : File > Preferences > Settings
Step 2 : search 區域輸入 update > Enable Windows Background Updates 不勾選
在重新開啟關閉 Visual Studio Code 就不會在跳出點擊下一步,會開始偵測異常問題
感想
曾經有找過朋友幫忙確認根本問題,但在討論中提到升級到 Windows 10 版本 1809 可能會有發生此問題朋友就立馬拒絕了,原因是原本好好的為什麼要故意把開發環境弄壞(好像蠻有道理的?),希望此懸案有一天可以水落石出,找出真相 !!!
Windows update failed: Access is denied #47841
0 意見:
張貼留言