Con la diffusione sempre più radicale dei sistemi a 64-bit, alcune applicazioni web scritte utilizzando parti a 32-bit possono soffrire il passaggio alla nuova piattaforma.
Uno degli esempi più comuni è la situazione in cui una pagina web in ASP si appoggia ad un database Access per la visualizzazione di determinate informazioni.
L’errore si manifesta con un messaggio di errore nell’area in cui dovrebbero comparire i dati.
Questa situazione si verifica se sullo stesso server viene installato WSUS versione 64-bit che durante il suo setup sovrascrive il file suscomp.dll.
Per risolvere il problema sono necessarie due operazioni:
- Abilitare l’opzione Enable 32-Bit Applications per il sito che presenta il problema.
- Disabilitare il modulo di compressione di IIS.
Procedura
Lanciare l’IIS Manager da Start –> Administrative Tools –> Internet Information Services (IIS) Manager e selezionare la voce Application Pools nella parte sinistra dello schermo.
Nella parte destra selezionare il sito che manifesta il problema e cliccare (pannello Actions)sulla voce Advanced Settings.
Identificare il menu General (è il primo della lista) ed impostare il parametro Enable 32-Bit Applications a True.
Se WSUS 64-bit non è installato nel sistema, l’abilitare questa opzione permette di ripristinare la funzionalità del sito, altrimenti è necessaria un’azione aggiuntiva.
Lanciando il sito viene visualizzato un messaggio di errore HTTP Error 500.16. Analizzando i dettagli dell’errore, il sistema riporta un Error Code 0x8007007e nella voce Module DynamicCompressionMod.
Per risolvere questa situazione bisogna disattivare il modulo di compressione in IIS. Ricordo che questo si verifica nel caso sia stato installato WSUS 64-bit sullo stesso server.
Per rimuovere il modulo di compressione bisogna eseguire il comando:
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /-[name='xpress']
Lanciare l’istruzione come Administrator (Run as administrator) dalla command line o creare un file per eseguirlo successivamente.
Lanciato il comando, il sistema visualizza il risultato dell’operazione.
A questo punto se il sito viene aperto, le informazioni prelevate dal database tramite ASP sono visualizzate correttamente. Queste modifiche non impattano sulla funzionalità globale del sistema e di WSUS stesso.
Se si avesse la necessità di riabilitare il modulo di compressione, lanciare il comando:
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /+[name='xpress',doStaticCompression='false',dll='%windir%\system32\inetsrv\suscomp.dll']
Il sito adesso viene visualizzato correttamente con gli utenti soddisfatti da un lato e il ritorno della tranquillità nel reparto IT dall’altro.