2014-09-11 2 views
1

J'ai 32 bits actifs x dll pour le streaming vidéo.Il fonctionne bien sur IE 32 bits. Afin de soutenir cette DLL x active dans IE 64 bits, j'ai construit avec succès cette DLL pour machine 64 bits. J'ai vérifié cette DLL en exécutant l'utilitaire DUMPBIN pour vérifier si cette DLL est pour 32 bits ou 64 bits.Active X pour 64 bits IE

Nous sommes en mesure d'enregistrer cette DLL 64 bits avec succès, mais il ne se charge pas correctement dans IE 64 bits.

Chaque fois que je reçois cette erreur lors de l'accès au composant actif x « L'objet ne prend pas en charge cette propriété .. » de HTML

Comment puis-je déboguer ce issue.Please me aider à résoudre ce problème

Répondre

0

Je viens de sortir d'une semaine poignante face à un problème similaire. Je vais donc essayer de tout résumer jusqu'à ce qu'il soit encore frais dans ma tête.

Il y a plusieurs approches du problème en fonction de votre version cible IE -

IE 10 et vers le haut

Il n'y a pas vraiment de problème ici. Tout ce que vous devez faire lors de la création du paquet d'installation (Setup.exe) est de le construire en Relâchez le mode avec la plate-forme comme AnyCPU[1]. Cela va exécuter l'ActiveX indépendamment de l'architecture de la machine sous-jacente.

IE9 32 bits

Publish la dll et l'ActiveX comme vous le feriez normalement sur une machine 32 bits et à déployer.

IE9 64 bits

C'est là que les choses deviennent un peu poilu!

Il n'existe aucun moyen de faire fonctionner les restrictions dll et ActiveX sur un IE9 64 bits. Tellement que même Adobe Flashplayer ne fonctionnera pas en raison des restrictions de sécurité imposées. En savoir plus à ce sujet here.

postage quelques extraits pertinents:

Depuis plusieurs versions, Internet Explorer a arborait une architecture multi-processus, où le processus « Frame » ou « gestionnaire » fonctionne à moyen intégrité et la « Tab » ou les processus "Content" s'exécutent soit à faible intégrité (mode protégé) ou à intégrité moyenne (pour les zones où le mode protégé est désactivé, comme les sites intranet). Tout le contenu HTML et les contrôles ActiveX s'exécutent dans le processus de contenu. Dans Internet Explorer sur le bureau, par défaut, les processus de contenu restent à 32 bits par défaut pour la compatibilité avec les contrôles ActiveX 32 bits, les barres d'outils, les BHO, etc. Même si vous lancez directement l'exécutable 64bit iexplore.exe, vous aurez toujours un processus de gestionnaire 64 bits qui n'héberge que des processus de contenu 32 bits.

Tout compte fait, il y a toujours du travail.

  1. Déployez votre ActiveX 32 bits (Je sais que c'est une machine 64 bits, maintenez le).
  2. Rechercher "Internet Explorer" dans le menu Démarrer.
  3. Vous verrez 3 versions d'IE. Lancez l'IE qui n'a rien écrit à côté de lui entre parenthèses. L'autre 2 serait IE (64 bits) et IE (sans add-ons).
  4. Créez un raccourci de cet IE sur votre bureau.

Cet IE est la version 32 bits de l'application qui est pré-emballée dans votre système d'exploitation. Exécutez votre code HTML et cela devrait fonctionner comme un charme!