Elite-Dangerous

精英:危險的發射器無法啟動

  • December 22, 2019

在 Windows 10(Horizo​​ns,Steam)上玩了幾年精英:危險之後,我的安裝在幾週前突然停止工作。(從那以後有一個遊戲更新,但安裝它並沒有解決我的問題。)

最初,啟動器 ( EDLaunch.exe) 只是默默地失敗了,沒有出現在工作列中,也沒有顯示任何視窗;在它退出之前,您可以在任務管理器中短暫(不到一秒鐘)看到它。不管我是通過 Steam、SteamVR、使用固定的工作列圖示、點兩下EDLaunch.exe圖示還是通過 Dr. Kaiii 的 EDProfiler 程序開始的。

在完成了Frontier 知識庫文章中關於解決啟動器問題的所有步驟後,我向 Frontier 開了一張票。他們建議採取以下步驟:

  1. 首先,在Windows Features中關閉 .NET 。訪問它的一種簡單方法是在“開始”>“搜尋”中鍵入Windows 功能。確保禁用所有可用版本的 .NET。
  2. 從 Windows 控制面板打開**程序和功能。**一個簡單的方法是在開始 > 搜尋中輸入“程序和功能”。
  3. 解除安裝所有以 開頭的東西,先從最高版本號開始(您可能會發現程序和功能Microsoft .NET中根本不存在任何條目,這種情況下請繼續執行步驟 4)
  4. 下載並安裝適用於您的 Windows 版本的所有 .NET 版本:

* Microsoft .NET Framework 4.6.1 - Windows 10、8.1、8 和 7 * $$ … Other versions, irrelevant to me $$

我按照這些步驟直到 4,安裝 .NET Framework 4.6.1。此安裝程序失敗;它的錯誤消息告訴我,因為我的機器已經安裝了 .NET 4.7.2,所以不允許我安裝 4.6.1。(至少使用上面的說明,在 Windows 10 上隨作業系統更新一起解除安裝 .NET 4.7.2 似乎是不可能的。)

我重新啟動,在 Windows 功能中重新打開 .NET,然後再次重新啟動。現在,雖然啟動器繼續不工作,但它確實顯示了一條錯誤消息: 未處理的異常錯誤

同樣,無論我如何嘗試啟動它,它都有相同的行為。

(我在我的電腦上搜尋了一個名為 的文件CobraBayWindow.xaml,它似乎不存在於我的機器上,也不存在於我詢問誰的安裝工作的其他玩家的機器上。)

此異常已在一個 Reddit 執行緒中進行了討論,但那裡討論的解決方案似乎也指向 .NET,並且沒有為我建議任何新的故障排除步驟。

DxDiag.txt應用這些最新的 .NET 更改後,我的文件顯示了三個edlaunch.exe問題(WER4WER5、 & WER6),所有問題都具有相同的文本:

+++ WER6 +++:
Fault bucket 2236876271833650918, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0

Problem signature:
P1: edlaunch.exe
P2: 0.4.6496.0
P3: 5c18c354
P4: PresentationFramework
P5: 3.0.0.0
P6: 5a7d2e52
P7: 626a
P8: e1
P9: System.Windows.Markup.XamlParse
P10: 

我對接下來可能嘗試解決此問題的方法感到迷茫。

在我發布上述內容幾天后,問題消失了,我看不到任何理由,然後幾個月後又回來了,我找到了解決方案,所以我想記錄下我對這個問題的回答。

事實證明,這EDLaunch.exe取決於特定的 .NET Framework 版本(正如我在問題中假設的那樣)——但我沒有得到的是,當您執行以下一操作時:

  1. 接受 Windows 10、.NET Framework
  2. 安裝 Visual Studio 程式碼

您將獲得一個強制升級的 .NET Framework。

我知道 #1,Windows/.NET Framework 升級問題——這可能是 Rob Chase 在他們拒絕的回答中遇到的問題,即需要重新安裝 Windows。¹

但就我而言,它是 #2,安裝 Visual Studio Code(具有諷刺意味的是,我首先將其安裝在我的遊戲機上,以便更舒適地查看 XML 文件,就像我在上面仔細檢查的文件一樣)。安裝 Visual Studio Code 會導致安裝新版本的 .NET Framework,該版本旨在與正在執行的主要版本 Windows 並排放置。

(Visual Studio Code 以一種有點不尋常的格式(對於 Windows)打包,因為它可以從 Windows 應用商店安裝,但它不是一個合適的通用 Windows 平台應用程序,因為作為一個編譯器,它需要做的事情不是’ t 在 UWP 沙箱中允許。從這個答案的初稿的評論中,我認為這就是導致這裡出現奇怪行為的原因,因為 Visual Studio Code 安裝了一個 .NET Framework 供它使用,而不是打算做任何其他事情使用它,但 EDLaunch 看到它並且不知何故感到困惑。)

EDLaunch.exe可能會鎖定它但無法使用它,因為次要版本可能會引入不兼容性(只有同一次要版本的更新檔或建構級別是完全可互操作的)。這就是導致錯誤螢幕截圖中異常的原因。

我無論如何都不是 Windows 專家,但顯然,一旦 EDLaunch.exe 更新成功,這種鎖定就會持續存在,因為我必須遵循以消除問題並正常啟動 Elite 的步驟是:

  1. 解除安裝 Visual Studio Code 並通過“Windows 功能”驗證系統上僅保留一個 .NET Framework
  2. 開始EDLaunch.exe(可能需要重新安裝)
  3. 開始遊戲並再次退出
  4. 退出啟動器
  5. 再次安裝 Visual Studio Code

EDLaunch.exe繼續正常工作——即使在下一次更新EDLaunch.exe來自 Steam 並且下一個 Visual Studio Code 更新檔來自微軟之後。我不完全理解這裡的機制,但它與關於解決 .NET 不兼容性的 FDev 知識庫文章一致。

我認為,通常情況下,當 Elite 啟動器或 Visual Studio Code 更新時,這個問題根本不應該出現。但如果確實如此,暫時解除安裝 Visual Studio Code 應該可以修復它——如果沒有,重新安裝 Elite 啟動器應該。然後,您可以根據需要重新安裝 Visual Studio。

在這種情況下,對我來說最令人困惑的是,在上面引用的故障排除說明的“Windows 功能”步驟中,您可能會發現很多.NET Framework 版本(我有將近十幾個,從版本 2.3 到 4.8) ,並且它們不一定都在可折疊的大綱視圖中方便地組合在一起 - 您必須搜尋.NET(不是.NET Framework,因為它顯示與.NET Framework匹配的已安裝功能)並解除安裝除最新之外的所有功能 -除了Visual Studio Code one,它你不能在這裡解除安裝,因為 Visual Studio Code 依賴於它。

這很令人困惑,因為您需要刪除的大多數版本都將一起出現在大綱列表中,因此如果您獲得了它們,您可能會錯誤地認為您已經獲得了所有版本——當另一個版本在大綱折疊部分的其他地方閒逛時。(VSC 的準 UWP 格式可能是造成這種怪異的罪魁禍首。)

所以知識庫文章可能需要擴展來解釋這個案例——我不知道有多少精英玩家也會在他們的機器上執行 Visual Studio Code,但如果他們是,他們還有其他步驟要遵循。

我希望這對以後可能遇到這個棘手問題的人有所幫助。²


¹(我懷疑如果他們仔細檢查了我稍後描述的 Windows 功能,他們可能能夠在不完全重新安裝 Windows 的情況下清除有問題的 .NET Framework 版本。)

² 我忽略了包含我在上面發布螢幕截圖的錯誤消息的文本。為了提高此問題的可搜尋性,我將在此處包含它:

Unhandled Exception: Cannot create instance of 'CobraBayWindow' 
defined in assembly 
'EDLaunch, Version=0.4.6496.0, Culture=neutral, PublicKeyToken=null'. 
Exception has been thrown by the target of an invocation.
Error in markup file                                                                                                                                                                                 
'EDLaunch;component/CobraBayWindow.xaml'. 

就我而言,我已經解決了刪除重複標籤的問題EDLaunch.exe.config

<supportedRuntime version="v2.0.50727"/>

只留下這個:

<supportedRuntime version="v4.0"/>

在這裡找到:https ://www.reddit.com/r/EliteDangerous/comments/bfmm5n/if_launcher_does_not_start_in_elite_dangerous/

引用自:https://gaming.stackexchange.com/questions/345260