經典 Visual C++ 6.0 (VC6) 在 Win8/8.1 執行時彈出「Microsoft Developer Studio 已停止運作」,主因是 VC6 內建偵錯器/IDE 元件與新版 Windows 視窗管理/權限模型不相容。經驗證:重命名 MSDEV.EXE + 設定相容模式為 Windows 7 可完美修復,無需虛擬機/兼容層。
C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin\。MSDEV.EXE → 重命名為 MSDEV1.EXE(或 MSDEV_OLD.EXE,名稱任意,關鍵是改變原始檔名)。MSDEV1.EXE → 「內容」→ 「相容性」索引標籤。MSDEV1.EXE → 「確定」。
MSDEV.EXE 有特定的 Shim(修補層),這些 Shim 在 Win8/8.1 下會錯誤攔截 VC6 內部呼叫導致崩潰。改變檔名可繞過針對原檔名的 Shim,讓程式以「未知應用」身分載入,再由手動指定的相容模式套用正確的 Windows 7 環境模擬層。WIN7RTM 版本號謊報、檔案/登錄虛擬化重導向、DWM 視窗管理相容行為,完美模擬 VC6 設計期望的運行環境。| 情境 | 處理方式 | 備註 |
|---|---|---|
| VC6 企業版/專業版/標準版 | 同樣適用 | 核心 MSDEV.EXE 相同 |
| Visual Basic 6.0 (VB6.exe) | 重命名 VB6.EXE + 相容模式 Win7 | 同屬 VB/VC 6.0 時代 IDE |
| 已安裝 SP6 修補包 | 修復後仍保留 SP6 功能 | SP6 修補的是庫/編譯器,不影響 IDE 相容性 |
| Win10/11 | 同樣適用,相容模式可選 Windows 7/8 | Win10/11 相容層更完善 |
VS6SP6.EXE 完整安裝。Visual C++ 6.0 Enhanced Edition(整合 SP6、現代編輯器外掛、64 位元編譯支援)。MSDEV.EXE 不再存在,若需保留原檔諈先複製備份再重命名副本。HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers,值為 ~ WIN7RTM RUNASADMIN。「重命名 + 相容模式 Win7」是讓 VC6 在現代 Windows 存活最高效、最輕量、零成本的方案,讓經典教學/維護專案得以繼續編譯偵錯,延續工程師青春記憶。