從找不到iTv\iTvApp.exe,到Duilib加載資源文件失敗的通用解法

下載安裝軟件時,點了高速下載,被捆綁安裝了i搜影,手動刪除文件後,開機時可能會出現:

Windows找不到文件’C:\Program Files(x86)\iTv\iTvApp.exe’。請確定文件名是否正確後,再試一次。

同時彈出“Duilib加載資源文件失敗”提示,一點擊確定就會黑屏或者不顯示桌面圖標。
在這裏插入圖片描述
已知iTvApp.exe這樣的文件名,搜索下可以找到是i搜影軟件的,覆蓋安裝官方版後,卸載軟件重啓即可恢復正常。
在這裏插入圖片描述
在這裏插入圖片描述
或者導入以下reg內容,重啓後刪除C:\Program Files(x86)\iTv。

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{19E0947A-0C57-4584-BA08-C1ECADD9E3FE}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{BB4E693D-7B82-4005-9F87-56971CCE8D38}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{B7B232F4-627B-4C8B-AF3C-66B758220E38}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{19E0947A-0C57-4584-BA08-C1ECADD9E3FE}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\Interface\{BB4E693D-7B82-4005-9F87-56971CCE8D38}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Approved]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\      TvNoUser]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\iTv]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DownloadManager]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\Approved]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiers\      TvNoUser]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\iTv]

或者打開iTv目錄,可以看到殘留文件iTvShellExt64.dll和TxUILib64.dll,猜測跟這有關。
按住shift右擊空白處,在此處打開命令窗口或powershell(需要管理員身份)。
執行以下命令,重啓桌面進程後恢復正常:

regsvr32 /u iTvShellExt64.dll
taskkill /f /im explorer.exe
explorer.exe

輸入完/u 後,可以按tab自動補全文件名,省事。

在這裏插入圖片描述

打開命令窗口不是管理員身份的,可以開始菜單搜索cmd右擊以管理員身份運行。或右擊開始按鈕,管理員Powershell(win10)。
執行以下命令:

cd  c:\*x86*\iTv

切換到iTv目錄後,再參考上面命令執行。

以上提到的解決方法建立在已知跟iTv有關。如果不知道是什麼導致的,有什麼通用的解決方法?

可以下載Process Explorer軟件,拖動望遠鏡右側圖標到彈窗上方定位具體進程。
在這裏插入圖片描述
定位到的進程是explorer.exe,右擊屬性,切換到線程選項卡,按CPU使用倒序排列。
在這裏插入圖片描述
然後不停的點錯誤彈窗,可以從上圖看到使用率第一的是iTvShellExt64.dll線程,可以選中後點結束,看彈窗是否消失了(測試是消失了)。

根據網上搜索,或查看dll文件屬性,可以判斷相關軟件,重新安裝相關軟件後卸載重啓即可。
在這裏插入圖片描述
或者參考上面輸入命令的方法解決。又或者註冊表搜索dll文件,導出備份後,刪除相關注冊表項,推薦使用Registry Workshop搜索。

上面提到的Process Explorer定位彈窗,查看進程屬性,切換到線程CPU後點擊彈窗提高CPU使用率來判斷的方法,可以用於解決很多類似的問題,有興趣的自己測試。

補充:
已知問題後,反過來分析本例中“Duilib加載資源文件失敗”的原因。

可以通過逐一刪除iTv文件判斷,找出導致這個錯誤的是軟件的skin文件夾被刪除了(符合資源的意思)。

或者用Process Monitor來判斷,添加過濾後輕鬆檢測出錯誤原因。
在這裏插入圖片描述
duilib,第三方開源DirectUI界面庫。第三方軟件常用,系統程序不太可能用。
刪除了duilib的資源文件,如xml以及圖片等,就會出現duilib加載資源文件失敗的問題。
如果點擊彈窗的確定,桌面圖標消失,說明資源管理器加載項有用duilib開發的動態連接庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章