Applicazioni non si installano su Windows 7 / Windows 2008 R2

A volte capita che i files .MSI e/o .EXE di installazione di alcune applicazioni rifiutano di eseguirsi, oppure procedono con l’installazione, ma al termine non si trova l’applicazione presente tra i programmi installati o non si trovano i servizi previsti presenti nell’elenco dei servizi (services.msc).  Questo comportamento è frequente soprattutto quando si tenta di installare su Windows 7 o Windows Server 2008 R2 applicazioni previste per sistemi operativi precedenti (es. Windows XP/Vista/2003/2008).

Quando l’applicazione rifiuta di installarsi tramite il file .MSI indicando subito un’incompatibilità del sistema operativo sottostante, ciò è dovuto al fatto che il file .MSI esegue lui stesso dei controlli sul sistema operativo per verificare che sia compreso tra quelli compatibili con l’applicazione.   Per bypassare il controllo, è necessario editare il file .MSI e togliere o modificare questo controllo.  E’ possibile fare questo utilizzando un editor di MSI (per es. “Orca”, scaricabile da http://www.technipages.com/downloads/Orca.Msi)  e modificando la sezione “LaunchCondition” del file .MSI,  come visualizzato nella seguente figura :

appcompatdiagnostics.gif    Clicca sulla figura per ingrandire
 

 Il modo più semplice è inserire, dopo un operatore booleano “OR”, una voce del tipo “VersionNT >= 600”, che indica al MSI di accettare qualunque sistema operativo con codice di riconoscimento superiore a 600 (questo è il codice identificativo di Windows Vista/2008): in questo modo i vari Windows 7, Windows 2008 R2 ed anche i successivi saranno accettati dall’installatore.

La proprietà “VersionNT” identifica una particolare versione del sistema operativo:

Valore 500 : Windows 2000 no SP o con SP1,SP2,SP3,SP4

Valore 501 : Windows XP no SP o con SP1,SP2,SP3

Valore 502 : Windows Server 2003 no SP o con SP1,SP2

Valore 600 : Windows Vista no SP o con SP1,SP2 e Windows Server 2008 no SP o con SP2

Valore 601 : Windows 7 e Windows Server 2008 R2

Per una migliore precisione, è possibile anche utilizzare le proprietà “ServicePackLevel” e “WindowsBuild” per identificare con precisione un certo Service Pack o una certa Build dei sistemi operativi (i codici precisi sono al seguente link : http://msdn.microsoft.com/en-us/library/aa370556(VS.85).aspx ).

Quando invece il file .MSI non esegue il controllo di versione, ma l’applicazione comunque rifiuta di installarsi su Windows 7 o Windows Server 2008 R2 (o si installa ma senza attivare i servizi previsti), ciò è tipicamente causato dai controlli di compatibilità che per default eseguono Windows 7 e 2008 R2.  Questi controlli di compatibilità sono molto utili, in quanto ci permettono di evitare l’installazione di applicazioni non compatibili, che metterebbero a repentaglio la stabilità del sistema.  Questi controlli sono attivati da dei settaggi di Group Policy o Local Policy indicati nelle figure seguenti.

FIGURA 1

   Clicca sulla figura per ingrandire

In figura 1 sono visualizzati i settaggi nella categoria “Computer Configuration\Administrative Templates\Windows Components\Application Compatibility” : andrebbero posti a “Enabled” tutti quelli indicati in figura per disattivare diversi controlli di compatibilità (per dafault quei settaggi sono tutti “Not Configured”, cioè i controlli di compatibilità sono attivi)

FIGURA 2

   Clicca sulla figura per ingrandire

In Figura 2 sono visualizzati i settaggi nella categoria “Computer Configuration\Administrative Templates\System\Troubleshooting and Diagnostics\Application Compatibility Diagnostics” : andrebbero posti a “Disabled” tutti i settaggi indicati in figura per evitare la comparsa di numerose finestre di errore che interromperebbero l’installazione dell’applicazione (anche tutti questi settaggi sono posti per default a “Not Configured”, il che lascia attivi i diagnostici)

Una volta modificati i settaggi come indicato sopra, le applicazioni dovrebbero installarsi tutte senza problemi, anche quelle incompatibili con Windows 7 / Windows Server 2008 R2.

La configurazione di questi settaggi come indicato nelle figure, e la modifica dei files .MSI indicata in precedenza,  sono a totale rischio e pericolo dell’utente.

Si ricorda che in questo modo si impedisce a Windows 7 e Windows Server 2008 R2 (o al servizio Windows Installer) di eseguire una moltitudine di controlli sulla compatibilità delle applicazioni che vengono installate;  le applicazioni, a questo punto, è molto probabile che vengano installate, ma se non effettivamente compatibili con Windows 7/2008 R2 possono mettere a repentaglio la stabilità dell’intero sistema.  Si consiglia di provare queste procedure in ambiente di testing, e solo dopo essersi accertati che le applicazioni installate non creano problemi ai sistemi, procedere all’implementazione in produzione.

 

Share / Save :

Lascia un commento