Vista 執行特定舊版軟體(特別是 XP 時代程式)時閃退、報錯「已停止運作」、事件檢視器記錄 APPCRASH、例外碼 0xC0000005 (存取違規)。
DEP 監控記憶體區域是否嘗試執行非程式碼資料。舊軟體若使用動態程式碼生成、JIT 編譯、殼加密等技術,可能觸發 DEP 攔截。Vista 預設「僅針對必要的 Windows 程式及服務啟用 DEP」,但部分軟體仍會衝突。
.exe) → 開啟。
bcdedit /set nx AlwaysOn
# 確保 DEP 開啟(預設值)
# 無 GUI 介面時可直接編輯登錄檔:
# HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\ExecuteDisable
# 但建議透過 GUI 避免錯誤
wmic OS Get DataExecutionPrevention_SupportPolicy
# 回傳值:0=關閉, 1=僅系統, 2=全部, 3=全部(例外清單)
| 類型 | 典型代表 | 原因 |
|---|---|---|
| 舊版遊戲 | 2005 前 DirectX 遊戲 | SecuROM/SafeDisc 加密殼、動態程式碼 |
| 開發工具 | VC6、Delphi 7、VB6 IDE | JIT 偵錯、動態編譯 |
| 壓縮/解壓工具 | 舊版 WinRAR、WinZip | 自解壓模組執行記憶體資料 |
| 視訊編碼器 | VirtualDub 舊版、舊版編碼器 | 組合語言最佳化、手動記憶體管理 |
Vista 以真正的內建 Administrator 登入:啟用超級管理員帳號、繞過 UAC、刪除垃圾檔案不再彈窗計算時間
微軟官方深度解析 Vista 5 大核心功能:UAC、映像管理、顯示驅動模型、Windows Search、64 位架構
Windows Vista 電源管理完全指南:睡眠模式、電源計畫與關機鍵自訂
Vista 磁碟管理與 Partition Magic 衝突?三種修復方案與最佳替代工具
修改登錄移除 Windows Vista/7 右鍵選單「公文包」選項
Vista 作業系統攝像頭無法開啟的解決方案:手動啟動與替代技巧