2022-08-22 要開啟某個檔案遇到的問題 參考: Windows 10: - Microsoft 社群 HinataLi : 您好, 您是已經追到問題了麽? 缺少的組件安裝不上? 1.點選開始,輸入CMD 6. 查看 C:\aa.txt 裡面會寫缺了哪個架構的哪個版本的VC++組件。 ------------------------------- 下載相對應版本的Microsoft Visual C++ Redistributable 最新支援的C++ 可轉散發套件下載 | Microsoft Docs
這個網誌中的熱門文章 Monterey - https://apps.apple.com/us/app/macos-monterey/id1576738294?mt=12 Big Sur
- https://itunes.apple.com/us/app/macos-big-sur/id1526878132?mt=12 Catalina - https://apps.apple.com/tw/app/macos-catalina/id1466841314?mt=12 Mojave - https://itunes.apple.com/tw/app/macos-mojave/id1398502828?mt=12 High Sierra - https://itunes.apple.com/ca/app/macos-high-sierra/id1246284741?mt=12 Sierra - https://itunes.apple.com/us/app/macos-sierra/id1127487414?ls=1&mt=12 EI Capitan - https://itunes.apple.com/app/os-x-el-capitan/id1147835434?mt=12 Yosemite -
https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=915041082&mt=12 參考 https://apple.stackexchange.com/questions/331688/how-to-download-macos-high-sierra-from-the-mojave-app-store
1. 控制台 -> 程式集 -> 程式和功能 -> 開啟或關閉功能
2. 選取 Services for NFS Client for NFS and 系統管理工具 3. 開啟命令提示字元 showmount NFS_IP # NFS_IP is xxx.xxx.xxx.xxx for ipv4 mount /help mount -o anon \\NFS_IP\NFS_share References https://docs.microsoft.com/zh-tw/windows-server/administration/windows-commands/services-for-network-file-system-command-reference https://social.technet.microsoft.com/Forums/zh-TW/d91d2b21-5955-4217-8e86-963f7685c269/windows-10-nfs-client?forum=win10itprosetup 附註:本文僅屬記錄與經驗分享且在非乾淨電腦中安裝,若有遺漏或錯誤煩請指正,如有侵權請來信告知。
[/expand] 0.目錄
1.問題描述Visual Studio 編譯成功,但執行時出現"此應用程式無法啟動,因為應用程式組態不正確。重新安裝應用程式可能會修正此問題" [caption id="attachment_659" align="aligncenter" width="486"] [VC++]這個應用程式無法啟動,因為應用程式組態不正確。請檢查資訊清單檔有無錯誤。重新安裝應用程式或許可以修復這個問題,如需詳細資訊,請參閱應用程式的事件記錄檔。[/caption]這主要是因為dll或lib安裝的組合不正確,例如在只有安裝vc2010(vc10)中連結vc2008(vc9)編譯出來的lib/dll 雖然在編譯的時候會過(compile只是幫你的程式做動態連結,但不管檔案存不存在) 但是runtime時(此時才會真正連結)會因為沒有安裝VC9的環境而出現組態不正確 這個問題在一般程式也有機會遇到,像是遊戲或工具可能安裝不完全,或是安裝再不適合的環境中,可以試著重新安裝 而以下則針對使用Visual Studio開發程式時,會遇到的狀況來試著解決,將方法和技巧做一個記錄 這個問題出現的情況很多,本文中遇到的可能只是冰山一角,不過還是可以朝著幾個大方向去解決
有時候出現"應用程式無法正確啟動,請按一下[確定]關閉應用程式。"也可以用sxstrace去找是哪個dll檔出現問題 2.解決方案這個問題的核心在於找到問題的dll或lib,並改正為合適的版本 但runtime時只出現應用程式組態不正確或是無法正確啟動實在讓人摸不著頭緒 因此可以藉由相依性檢查工具( Dependency Walker tool)或是sxstrace來協助偵錯 而以下介紹sxstrace的使用,因為他是Windows內建的,可以先做初步的診斷 首先開啟cmd,輸入sxstrace指令(需使用系統管理員身分執行),指令如下: 使用方式: SxsTrace [Options] 簡單的說就是輸入 "sxstrace Trace -logfile:D:\a.log"
紅色的部份換成你的log檔名 [caption id="attachment_660" align="aligncenter" width="518"] [VC++]輸入指令開始追蹤[/caption]而記錄的內容是二進制內容,我們無法閱讀,因此要再輸入另一行轉譯的指令: "sxstrace Parse -logfile:D:\a.log -outfile:D:\out.txt" 紅色部分是上面記錄的log檔,藍色的部份是要輸出的檔名 [caption id="attachment_661" align="aligncenter" width="680"] [VC++]輸入指令轉換追蹤結果[/caption]接下來開啟輸出的檔案(如"D:\out.txt")試著尋找錯誤的來源,以下是我的錯誤節錄: [expand title="=====點此觀看我的錯誤內容=====" alt="點此觀看我的錯誤內容"] ================= [/expand] 可以發現他一直出現找不到Microsoft.VC90.DebugCRT相關的檔案 我這次的情況是從安裝Windows 8 + VC 2010 & VC 2008的電腦移植到Windows 7 + VC 2010的環境 因為其中有連結SOIL.lib,但當時是使用VC9的lib,導致重新編譯時VC會往下使用Microsoft.VC90.DebugCRT 但是我的新環境只安裝VC2010,只有VC100,所以就會出現組態不正確的訊息 在得知是使用到舊版的lib後,更換VC10版的SOIL.lib就成功執行了 3.參考資料
4.後記這次在程式轉移的過程一直出現莫名的錯誤,不過發生過一次第二次就差不多知道是版本的問題 不過還是需要搭配著sxstrace跟經驗,一個一個lib或dll去嘗試,才終於找到問題真正的原因 (其實是我忘記有用到SOIL這個東西了~亂加搞死自己XD) 雖然上面說的很簡單,但沒找到問題之前真的有種快崩潰的感覺阿~整整找了一個下午才解決阿~ |