Acrobat Reader e sistemi operativi a 64 bit

In questo periodo sto preparando una passaggio di un Terminal server su Windows Server 2003 R2 a 32 bit ad un server Windows 2008 R2 con Remote Desktop Services (RDS) quindi in ambiente a 64 bit.

Siccome le applicazioni che dovranno essere ospitate sono in .NET 1.1 con l’occasione ne ho riscritte alcune in Visual Studio 2008 tra queste ve ne era una che si occupava tra le atre cose di visualizzare PDF. L’idea è stata quella di installare sul server Acrobat Reader che però al momento è disponibile solo a 32 bit e di utilizzare il controllo WebBrowser per visualizare i PDF sfruttando i parametri per evitare di visualizzare toolbar e navpanel (a riguardo si veda Parameters for Opening PDF Files).

Eseguendo però l’applicazione in Windows 2008 R2 a 64 bit il PDF anzichè essere visualizzato nel controllo WebBrowser veniva visualizzato in una nuova finestra.

Il motivo di questo comportamento risiede nel fatto che Visual Studio 2008 per impostazione predefinita compila sia per CPU x86 che x64 quindi eseguendo l’applicazione in ambiente a 64 bit veniva istanziato un controllo WebBrowser a 64 bit utilizzando le dll di Internet Explorer a 64 bit che non può contenere ActiveX a 32 bit come quello di Acrobat reader e qyuindi istanzia un Internet Explorer a 32 bit per ospitare l’ActiveX creando così una nuova finestra.

Per ulteriori informazioni si vedano: