Windows 7 提示「Software Protection 服務無法啟動」或顯示「此軟體並非正版」警告,核心原因通常是 sppsvc 服務停用、啟動類型錯誤、登錄鍵值遺失或遭惡意軟體修改。本文提供從圖形介面到命令列、登錄編輯器的完整修復流程,並包含從健康系統匯出登錄修復的離線方案。
slmgr.vbs -dli 顯示錯誤碼 0xC004F074 / 0x80070422services.msc → 確定。sppsvc)。


若服務列表中完全找不到 sppsvc 或 sppuinotify,表示登錄鍵值遺失,需從相同版本的健康系統匯入。
regedit。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sppsvcsppsvc → 「匯出」→ 儲存為 sppsvc.reg。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sppuinotifysppuinotify.reg。



regedit。sppsvc.reg 與 sppuinotify.reg 依序匯入。

若服務啟動仍報錯,檢查是否被惡意軟體/優化工具寫入「映像檔執行選項」劫持:
regedit 定位至:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sppsvc.exe
以系統管理員身分執行 CMD 依序執行:
net stop sppsvc
cd %windir%\system32
ren tokens.dat tokens.dat.bak
ren tokens.bar tokens.bar.bak
net start sppsvc
slmgr.vbs /rilc
slmgr.vbs /ato
說明:重新建立授權權杖檔並重新授權。
| 錯誤碼 | 含義 | 建議動作 |
|---|---|---|
| 0x80070422 | 服務已停用/未啟動 | 方法一啟用 sppsvc |
| 0xC004F074 | KMS/MAK 授權失敗 | 檢查網路/金鑰,執行 slmgr.vbs /ato |
| 0x80070005 | 存取被拒絕 | 檢查 sppsvc 登錄權限、移除 Debugger 劫持 |
| 0x80040154 | 類別未註冊 (COM 元件損壞) | 方法二匯入登錄、sfc /scannow |