Contrôle Active-X MFC dans une fenêtre Winforms sur Vista 64 bits; & # 8220; Classe non enregistrée Exception & # 8221;
-
05-07-2019 - |
Question
Pour tenter de confirmer une autre suggestion SO SO concernant la gestion des clés dans un contrôle ActiveX hébergé sur une fenêtre Winforms, j'ai essayé de créer un contrôle MFC ActiveX sans système d'exploitation, puis de le placer sur un formulaire Windows. Au moment de la conception, le contrôle s’est présenté sans problème.
Lors de l'exécution de l'application, l'exception redoutée "Classe non enregistrée." La boîte de dialogue apparaît.
Les deux projets sont dans VS 2008. L’application Winforms est une application-cadre .Net 3.5.
J'ai essayé de parcourir le débogueur à partir de l'explorateur (privilèges élevés dans les deux cas) et rien ne semblait fonctionner. Je me suis même assuré d’inscrire manuellement l’OCX avec les exécutables regsvr32 64 bits et 32 ??bits.
Cela me laisse perplexe car je ne m'attendrais pas à ce que cela soit pas . J'ai effectué des expériences similaires au travail (boîte Windows XP 32 bits) sans aucun problème.
La configuration de mon VS est la suivante:
- Microsoft Visual Studio 2008
- Version 9.0.30729.1 SP
- Microsoft .NET Framework
-
Version 3.5 SP1
Le problème le plus déroutant est que le contrôle ActiveX semble apparaître au moment de la conception. Toutes les réponses, suggestions ou réflexions seront les bienvenues.
La solution
Je devais modifier la sortie de l'hôte .Net en x86 au lieu de "Toutes les plates-formes". Cela est nécessaire car l'application est en cours d'exécution sur x64 pour lequel le contrôle ActiveX n'a ??pas été compilé. D'oh! L’application s’est très bien déroulée après la modification du projet hôte ActiveX.