Windows Installer: l’installazione MSI non riesce con lo stato di errore 1603
Durante il processo di distribuzione di un pacchetto MSI a Windows remoto Host Server 2012 R2 tramite il cmdlet Start-Process, mi sono imbattuto in un comportamento interessante. In alcuni casi, quel pacchetto MSI è stato installato senza problemi; in altri, non generava silenziosamente un ID evento 10837 nel registro dell’applicazione.
Con la registrazione dettagliata abilitata, è stato osservato il seguente messaggio di errore nel file di registro MSI:
Stato di errore o successo dell’installazione: 1603.
Lo stato di errore 1603 è documentato su Microsoft Technet. Tuttavia, nessuno di quegli scenari elencati nell’articolo si applicava al mio caso. Sono stato in grado di installare quel pacchetto MSI localmente senza problemi e l’errore è apparso in modo casuale durante l’installazione tramite PowerShell.
Con ulteriori test, mi sono reso conto che il problema si verificava solo quando l’account utente, da cui era in esecuzione lo script, non aveva mai effettuato l’accesso in precedenza al sistema di destinazione.
Ho chiesto a uno dei miei colleghi, che ha una migliore comprensione di come funziona Windows Installer, di aiutare con questo caso. Dopo un’indagine approfondita, mi ha indicato le seguenti righe nel file di registro MSI:
A quanto pare, nel 2014 Microsoft ha rilasciato un bollettino sulla sicurezza MS14-049 contenente una patch per correggere una vulnerabilità nel servizio Windows Installer. Tuttavia, dopo aver installato questo aggiornamento per la protezione, viene interrotta l’installazione del pacchetto MSI. Questo è documentato come un “problema noto 1” nel bollettino e spiegato in maggiori dettagli qui.
Per risolvere questo problema, Microsoft consiglia di installare l’aggiornamento 3000988.
Un’altra opzione, che è documentato nello stesso bollettino nella sezione “Problema noto 2”, è quello di disattivare i programmi interessati utilizzando le impostazioni del registro. Tuttavia, questa soluzione alternativa implica più lavoro manuale e rimuove la funzione di protezione in profondità per quei programmi.
Ho testato queste opzioni e posso confermare che entrambe funzionano. Spero che questo articolo ti faccia risparmiare tempo nella risoluzione di un problema simile.