Πρόβλημα με το τελευταίο Update των Windows και τις Classic ASP Εφαρμογές

Μετά από πρόσφατο update των Windows 11 και Windows Server 2022 (Ιούνιος 2025), εντοπίστηκε σοβαρό πρόβλημα σε εφαρμογές που βασίζονται σε Classic ASP, το οποίο προκαλεί σφάλμα τύπου:

Active Server Pages error 'ASP 0240'
Script Engine Exception
A ScriptEngine threw exception 'C0000005' in 'IActiveScript::SetScriptState()'

Το πρόβλημα αφορά συστήματα που χρησιμοποιούν VBScript και JScript ταυτόχρονα μέσα σε .asp αρχεία, κάτι που παλαιότερα υποστηριζόταν κανονικά.

🔍 Τι προκάλεσε το πρόβλημα;

Η Microsoft, με τις ενημερώσεις:

  • KB5037765 (Windows Server 2022)

  • KB5036893 / KB5037771 (Windows 11)

εισήγαγε αλλαγές στη μηχανή εκτέλεσης των script (JScript Replacement Engine), οι οποίες δεν είναι πλήρως συμβατές με παλαιότερο ASP κώδικα που συνδυάζει JScript και VBScript.

⚠️ Ποιο είναι το σύμπτωμα;

  • Η εφαρμογή ASP καταρρέει με σφάλμα 500 κατά την εκτέλεση.

  • Δεν εμφανίζεται αναλυτικό μήνυμα σφάλματος.

  • Στα logs ή στη σελίδα εμφανίζεται μόνο ο κωδικός C0000005.

✅ Πώς λύνεται:

Μπορείτε να εφαρμόσετε ένα προσωρινό workaround μέσω του Registry:

➤ Βήματα:

  1. Ανοίγετε το regedit.exe

  2. Πηγαίνετε στο:

    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main
    
  3. Αν δεν υπάρχει ο φάκελος Main, δημιουργήστε τον.

  4. Δημιουργήστε νέο DWORD (32-bit) Value με όνομα:

    JScriptReplacement
    
  5. Ορίστε την τιμή του σε:

    0
    
  6. Κάντε επανεκκίνηση του server ή restart του IIS για να ισχύσει η αλλαγή.


🧪 Εναλλακτικά:

Μπορείτε επίσης να χρησιμοποιήσετε έτοιμο .reg αρχείο ή PowerShell script για να αυτοματοποιήσετε τη διαδικασία.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main]
"JScriptReplacement"=dword:00000000

📌 Σημείωση:

Αναμένουμε επίσημο fix από τη Microsoft σε επόμενες ενημερώσεις ασφαλείας. Μέχρι τότε, η παραπάνω λύση είναι απολύτως ασφαλής και λειτουργική.