DT Soft released a specific hotfix for the 2023/2024 certificate expiration. Many users still don't know about it.
Steps:
Sometimes SPTD itself can be updated independently.
⚠️ Advanced: Using tools like
SignToolorDriver Signature Enforcement Overrider (DSEO)can manually sign the SPTD.sys driver, but this is complex and may trigger anti-cheat or Windows security alerts. daemon tools sign check error
The Daemon Tools sign check error (0x20000 and similar variants) is almost always a clash between an old driver signature and modern Windows security protocols like Secure Boot and DSE.
The fastest solution is Disabling Driver Signature Enforcement (Method 1) for a quick fix. The most permanent solution is Disabling Secure Boot (Method 4) combined with the Official Signature Patch (Method 5).
However, if you are a casual user who only needs to mount ISO files, save yourself the headache. Use Windows’ native mounting tool or switch to WinCDEmu. DT Soft released a specific hotfix for the
For power users who need virtual drives for old games (SecuROM/SafeDisc), the extra effort of debugging Daemon Tools is worth it—just follow the nine methods above in order, and you will have your virtual drive back in under 20 minutes.
Still stuck? Post your exact error code (e.g., 0x20000, 0xE000024B) in the comments below or visit the official DT Soft forum. Do not download "sign check fixers" from random websites—they are almost always malware.
Last updated: October 2025. Tested on Windows 11 Pro (23H2 & 24H2) and Windows 10 (22H2). ⚠️ Advanced: Using tools like SignTool or Driver
If you’ve landed on this page, you are likely staring at a frustrating pop-up window that reads something akin to: "Sign Check Error. Please reinstall program." or "Component sign check failed." This message typically appears when you try to launch Daemon Tools Lite, Pro, or Ultra.
Don’t panic. Your software isn't necessarily broken beyond repair, and no, you probably don't have a virus.
In this article, we will break down exactly what the Daemon Tools sign check error is, why it happens on Windows 10 and Windows 11, and—most importantly—how to fix it permanently.
import subprocess
import platform
import sys
import os
import ctypes
class Colors:
"""Standard terminal colors for output formatting."""
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKCYAN = '\033[96m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
class DriverSignManager:
"""
A utility class to manage Windows Driver Signing policies.
Primarily designed to fix 'Daemon Tools Sign Check Error' by enabling
Test Mode or disabling Driver Signature Enforcement.
"""
def __init__(self):
self.is_admin = self._is_admin()
self.os_version = platform.version()
def _is_admin(self):
"""Check if the script is running with Administrative privileges."""
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
def _run_command(self, command):
"""Executes a shell command and returns output."""
try:
# Using shell=True for bcdedit commands simplicity
result = subprocess.run(command, shell=True, capture_output=True, text=True, encoding='utf-8')
return result.stdout, result.stderr, result.returncode
except Exception as e:
return None, str(e), -1
def check_test_signing_status(self):
"""Checks if Test Signing is currently enabled."""
stdout, _, _ = self._run_command("bcdedit /enum")
if stdout and "testsigning Yes" in stdout.lower():
return True
return False
def display_system_info(self):
"""Displays relevant system information."""
print(f"Colors.HEADER'='*50Colors.ENDC")
print(f"Colors.BOLDSystem Diagnostic ReportColors.ENDC")
print(f"Colors.HEADER'='*50Colors.ENDC")
print(f"OS: platform.system() platform.release() (Build platform.version())")
print(f"Architecture: platform.machine()")
print(f"Administrator Mode: 'Yes' if self.is_admin else 'No'")
test_mode = self.check_test_signing_status()
status_color = Colors.OKGREEN if test_mode else Colors.FAIL
print(f"Test Signing Mode: status_color'Enabled' if test_mode else 'Disabled'Colors.ENDC")
print(f"Colors.HEADER'='*50Colors.ENDC\n")
def apply_fix(self):
"""
Attempts to fix the sign check error.
Strategy: Enable Test Signing Mode.
This allows loading of unsigned drivers (common with older Daemon Tools versions).
"""
if not self.is_admin:
print(f"Colors.FAIL[Error] This action requires Administrative privileges.Colors.ENDC")
print("Please right-click the script and select 'Run as Administrator'.")
return
print(f"Colors.WARNING[Action] Applying Driver Signature Fix...Colors.ENDC")
# Command to enable test signing
command = "bcdedit /set testsigning on"
stdout, stderr, code = self._run_command(command)
if code == 0:
print(f"Colors.OKGREEN[Success] Test Signing Mode has been enabled.Colors.ENDC")
print(f"Colors.WARNING[Info] You must RESTART your computer for changes to take effect.Colors.ENDC")
else:
print(f"Colors.FAIL[Failed] Could not apply fix.Colors.ENDC")
print(f"Reason: stderr")
# Attempt alternative fix if Secure Boot might be blocking bcdedit
print(f"\nColors.OKCYAN[Alternative] Attempting to disable integrity checks...Colors.ENDC")
self._run_command("bcdedit /set nointegritychecks on")
def revert_fix(self):
"""Reverts the system to default security settings."""
if not self.is_admin:
print(f"Colors.FAIL[Error] Administrative privileges required.Colors.ENDC")
return
print(f"Colors.WARNING[Action] Reverting to default security settings...Colors.ENDC")
self._run_command("bcdedit /set testsigning off")
self._run_command("bcdedit /set nointegritychecks off")
print(f"Colors.OKGREEN[Success] Settings reverted. Please restart your computer.Colors.ENDC")
def permanent_disable_dse(self):
"""
WARNING: Aggressive fix.
Disables Driver Signature Enforcement completely (requires reboot into advanced startup).
This is usually necessary for the specific 'Daemon Tools Sign Check Error' on Win 10/11
if Test Signing fails.
"""
print(f"Colors.FAILWARNING: This requires a system restart into Advanced Startup Mode.Colors.ENDC")
print("You will need to manually navigate to:")
print("Troubleshoot -> Advanced Options -> Startup Settings -> Restart -> Press 7 (Disable Driver Signature Enforcement)")
user_input = input("Do you want to restart now to perform this action? (y/n): ")
if user_input.lower() == 'y':
# Initiate advanced restart
subprocess.run("shutdown /r /o /t 0", shell=True)
def main():
manager = DriverSignManager()
manager.display_system_info()
if not manager.is_admin:
print(f"Colors.FAILCRITICAL: Script is not running as Administrator.Colors.ENDC")
print("Please restart with Admin rights to apply fixes.")
sys.exit(1)
print("Select an option:")
print(f"1. Colors.OKGREENFix Sign Check Error (Enable Test Mode)Colors.ENDC")
print(f"2. Colors.WARNINGAggressive Fix (Restart to Advanced Options)Colors.ENDC")
print(f"3. Colors.OKBLUERevert Changes (Disable Test Mode)Colors.ENDC")
print("4. Exit")
choice = input("\nEnter choice (1-4): ")
if choice == '1':
manager.apply_fix()
elif choice == '2':
manager.permanent_disable_dse()
elif choice == '3':
manager.revert_fix()
elif choice == '4':
sys.exit(0)
else:
print("Invalid choice.")
if __name__ == "__main__":
main()