Errore SecurityHealthSSO.dll in Windows 11: guida completa alla correzione definitiva

All’avvio di Windows 11 compare un avviso in cui il sistema segnala che SecurityHealthSSO.dll “non è progettato per essere eseguito in Windows” (errore 0xc000012f). Il messaggio ricompare a ogni riavvio: seguendo questa guida potrai eliminarlo in modo sicuro, aggiornando la piattaforma di sicurezza o sostituendo la DLL corrotta.

Indice

Sintomo

All’accensione o al riavvio di Windows 11 viene visualizzata la finestra con titolo “Bad Image” e testo simile:

C:\Windows\System32\SecurityHealth\10.0.27777.1008-0\SecurityHealthSSO.dll  
is either not designed to run on Windows or it contains an error (0xc000012f).

Dopo avere premuto OK il desktop si carica regolarmente, ma l’avviso ritorna a ogni sessione.

Causa

SecurityHealthSSO.dll è parte integrante di Windows Security (ex Windows Defender). Se la DLL:

  • è stata danneggiata da uno spegnimento improvviso,
  • è stata sostituita da software di terze parti,
  • appartiene a una build insider o precedente,
  • non corrisponde alla versione effettiva della piattaforma di sicurezza,

Windows blocca il caricamento del modulo, generando l’errore Bad Image.

Soluzione rapida consigliata

Prima di ricorrere alla sostituzione manuale, prova ad aggiornare la piattaforma di sicurezza. Microsoft rilascia periodicamente il pacchetto securityhealthsetup_<versione>.exe tramite Windows Update e Catalog Update:

  1. Scarica l’ultima versione coerente con la tua build del sistema.
  2. Avvia il file (non mostra finestre né richiede opzioni).
  3. Riavvia il PC e verifica se l’avviso è sparito.

Se il problema persiste, applica la procedura completa di sostituzione DLL descritta di seguito.

Procedura dettagliata di sostituzione DLL

Prerequisiti

• Utente con diritti amministrativi.
* Ripristino configurazione di sistema attivo (consigliato).
* Antivirus aggiornato per verificare la libreria scaricata.

Scaricare la libreria corretta

  1. Identifica esattamente il numero di versione nel percorso dell’errore (esempio: 10.0.27777.1008-0).
  2. Recupera SecurityHealthSSO.dll con lo stesso numero di versione da una fonte affidabile (PC con la stessa build, ISO ufficiale, repository interno).
  3. Scansiona il file con l’antivirus.

Preparare la cartella temporanea

mkdir C:\Temp
copy <percorso_download>\SecurityHealthSSO.dll C:\Temp

Prendere possesso e sostituire la DLL

Apri Prompt dei comandi (amministratore) e inserisci:

cd /d C:\Windows\System32\SecurityHealth\10.0.27777.1008-0
takeown  /f SecurityHealthSSO.dll /a
icacls   SecurityHealthSSO.dll /grant *S-1-5-32-544:(F)
copy /y  C:\Temp\SecurityHealthSSO.dll
  • takeown imposta il gruppo Administrators come proprietario.
  • icacls assegna controllo completo all’amministratore corrente.
  • copy /y sovrascrive la DLL corrotta senza chiedere conferma.

Riavviare e verificare

Al riavvio l’avviso non dovrebbe più comparire. Se Persiste, controlla di aver copiato la libreria nella cartella esatta e con la stessa versione numerica.

Pulizia facoltativa

rmdir /s /q C:\Temp

Procedura alternativa di aggiornamento piattaforma

Se non vuoi sostituire manualmente la DLL, puoi aggiornare l’intera piattaforma:

  1. Scarica da Catalog Update il pacchetto securityhealthsetup_<numero>.exe più recente.
  2. Esegui il file (non richiede parametri).
  3. Durante il riavvio Windows installerà automaticamente i binari aggiornati in C:\Windows\System32\SecurityHealth\.
  4. Al termine controlla in Impostazioni → Privacy e sicurezza → Sicurezza di Windows → Informazioni versione che il campo Piattaforma antimalware corrisponda alla build scaricata.

Se l’errore continua, torna alla Procedura dettagliata di sostituzione DLL.

Varianti e precauzioni

ScenarioAdattamento
Numero di versione diverso (es. 10.0.27703.1006-0)Adegua il percorso nelle istruzioni e usa la DLL con lo stesso numero.
Permessi negati durante la copiaVerifica di aver aperto il Prompt come amministratore e di avere eseguito correttamente takeown e icacls.
Impossibile estrarre la DLLUsa “Estrai tutto” del menu ZIP o un tool come 7‑Zip, quindi copia manualmente la DLL in C:\Temp.

Risoluzione dei problemi successivi

  • Sicurezza di Windows non si apre – Assicurati di aver riavviato; in caso contrario esegui il reboot. Se resta il problema, raccogli log con FRST e analizza le voci relative a SecurityHealth.
  • Altri file di sistema corrotti – Lancia SFC /scannow per riparare i componenti base. Se non basta, usa DISM /Online /Cleanup-Image /RestoreHealth.
  • Event Viewer – Controlla in Registri di Windows → Applicazione gli eventi 1000 e 1001 per confermare che SecurityHealthSSO.dll non venga più caricato con errore.

Domande frequenti

Perché l’errore appare solo dopo un aggiornamento cumulativo?

Dopo alcuni aggiornamenti mensili, Windows sposta i moduli di sicurezza in nuove sottocartelle con numero di build superiore. Se il vecchio file rimane registrato nel sistema, Windows tenta comunque di caricarlo all’avvio generando il conflitto.

Posso usare Ripristino configurazione di sistema anziché sostituire la DLL?

Sì, a patto che tu disponga di un punto di ripristino creato prima della comparsa dell’errore. Nel caso non ne avessi, la sostituzione manuale resta il metodo più veloce.

La mia installazione è Windows 10: la guida vale lo stesso?

Sì, il componente SecurityHealthSSO.dll è condiviso fra Windows 10 (1809 e successivi) e Windows 11. Le cartelle e i comandi rimangono identici; cambia solo il numero di build.

Verifiche aggiuntive consigliate

Dopo la riparazione, puoi eseguire questi controlli per massima sicurezza:

  • Apri Task Manager → Dettagli e assicurati che il processo SecurityHealthService.exe punti alla stessa sottocartella della DLL sostituita.
  • Esegui una scansione rapida di Windows Defender per confermare che il motore antimalware funzioni.
  • Controlla con Get-MpComputerStatus in PowerShell che i campi AMServiceEnabled e AntispywareEnabled siano True.

Riepilogo essenziale

• Prova prima a installare securityhealthsetup_*.exe per aggiornare la piattaforma.
* Se il messaggio d’errore persiste, sostituisci SecurityHealthSSO.dll con la versione corretta usando takeown → icacls → copy.
* Riavvia il PC, elimina la cartella temporanea e verifica che Sicurezza di Windows funzioni.
* Per anomalie residue usa FRST, SFC e DISM per ulteriori diagnosi.

Indice