2009-08-03 5 views
1

Nous avons hérité d'un nouveau produit que nous supportons maintenant. C'est une application web qui affiche des graphiques en utilisant SVG.IE7 demande le contrôle ActiveX msxml3.dll en essayant d'afficher les graphiques SVG

Sur ma machine, il fonctionne parfaitement. Il charge et affiche les graphiques SVG en utilisant Adobe SVG Viewer 3.0. Alors que sur la machine client, les graphiques SVG ne se chargeront pas. J'ai remarqué que l'application Web demande le contrôle ActiveX MSXML3 pendant le chargement de la page. Même si vous autorisez l'exécution du contrôle ActiveX, les graphiques SVG n'apparaissent pas.

J'ai vérifié sur mon ordinateur (Outils-> Gérer les modules complémentaires-> Activer ou désactiver les modules complémentaires) et il n'utilise même pas MSXML3.DLL. Le seul module actif est Adobe SVG Viewer 3.0.

Les deux machines utilisent IE7 et les deux utilisent les mêmes "ensembles de données".

Quels pourraient être les problèmes possibles ici?

Merci!

Répondre

2

La machine du client a installé Visual Studio 2005. Adobe SVG Viewer et Visual Studio 2005 se détestent comme décrit dans cet article de la Base de connaissances. http://support.microsoft.com/kb/916442

Nous Noyez le tableau SVG comme ceci:

<embed src="PaintSVG?id=12345" type="image/svg+xml"></embed> 

Lorsque vous avez VS2005 installé, il « associe l'application/xml type MIME avec l'extension de nom de fichier .aspx » maintenant IE pense que vous êtes En incorporant un fichier "aspx" et quand il découvre que ce fichier "aspx" est un document XML, il essayera alors de le charger en tant que tel (explique pourquoi il demande le contrôle MSXML3 ActiveX).

En tant que travail autour, nous avons besoin de « truc » IE que nous intégrons en fait un fichier SVG en ajoutant les paramètres suivants à la fin de l'URL:

&Dummy=SVG-VS2005-WorkAround.svg 

comme ceci:

<embed src="PaintSVG?id=12345&Dummy=SVG-VS2005-WorkAround.svg" type="image/svg+xml"></embed> 
1

Juste une intuition, mais essayez d'installer ce
Microsoft XML Parser (MSXML) 3.0 Service Pack 7 (SP7)
http://www.microsoft.com/downloads/details.aspx?familyid=28494391-052B-42FF-9674-F752BDCA9582&displaylang=en

Ou le plus récent (apparemment) la version de cette
Services Microsoft Core XML (MSXML) 6.0
http://www.microsoft.com/downloads/details.aspx?familyid=993c0bcf-3bcf-4009-be21-27e85e1857b1&displaylang=en

Vous trouverez probablement cela installé ou non installé dans la boîte de dialogue Ajout/Suppression de programmes dans le Panneau de configuration.

+1

Oh, j'ai oublié la solution évidente: Firefox. – Chloe

2

Msxml3 est intégré dans tous les systèmes d'exploitation sous forme XP. Cependant, vous pouvez parfois avoir besoin d'une version plus élevée de celui-ci (disons Sp10 est livré avec Vista). Le SP maximum que vous pouvez télécharger est SP7. Tous les autres sont disponibles uniquement via Windows Update.

Vous pouvez utiliser le lien fourni par Chloé: http://www.microsoft.com/downloads/details.aspx?familyid=28494391-052B-42FF-9674-F752BDCA9582&displaylang=en pour obtenir MSXML 3.

Selon ma connaissance MSXML 6 ne suffira pas pour une application qui a besoin MSXML 3.

Vous pouvez également utiliser walker dépendance (available here) pour vérifier quelle DLL l'application ActiveX a besoin.

Questions connexes