記一次WPF應用在用戶電腦無法啟動


問題描述

一個WPF應用(已知依賴有.Net Framework4.8,二次開發軟件本體),滿足上述兩個依賴后,在兩台同事的Win10筆記上測試正常,在客戶的一台Win10筆記本上無法啟動。
具體症狀就是無症狀,雙擊、管理員運行都沒反應。

爬坑之路

  1. 中文路徑問題?
    我首先注意到,同事解壓軟件時使用了中文命名,於是拷貝到英文路徑下,測試沒有效果❌
  2. .Net Framework的問題?
    同事聯系我時,已說明安裝.net framework時已經提示已安裝,所以開始我也沒報太大的希望,為了驗證一遍,剛好,軟件除了WPF主應用外,還有一個輔助工具應用程序。
    依賴同樣的.Net Framework框架,於是命令行啟動輔助工具,成功運行,至此.Net Framework環境問題被排除❌
  3. 打印日志,看卡在哪一步?
    通過在App.Main方法中逐行加了Log,然而,運行程序Log文件並沒有被創建出來,意味着程序好像在App.Main之前就掛掉了❌

自我懷疑

作為剛入職的新兵蛋子,自己的前期任務遇到這種情況,心里還是挺着急的,死馬當活馬醫。

背水一戰

牽出Google這條🐶。
依次搜了:

在Stack Overflow看到了這個解決方案

https://stackoverflow.com/a/69661724

  • Right click your application and choose properties.
  • In the application tab change the output type to Console application.
  • Build your application in debug mode.
  • Start your application again.

新打包的程序在CMD里運行,終於不是沒反應了😭,打印出了異常:
System.Windows.Markup.XamlParseException: 'CefSharp.Wpf.ChromiumWebBrowser' threw exception. Inner Exception: could not load CefSharp.Core.Runtime.dll
接下來就是循環搜索的過程,最終確定問題是用戶電腦VC++依賴的缺失,裝上了Microsoft Visual C++ Redistributable Latest Supported之后,WPF應用順利啟動了。

復盤

有所收獲,至少以后對於WPF程序啟動不了的情況,不用對着圖標點來點去,無能狂怒了🙃。


免責聲明!

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



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