Controllo Active-X MFC in una finestra winforms su Vista 64 bit; & # 8220; Classe non registrata Eccezione & # 8221;

StackOverflow https://stackoverflow.com/questions/1807230

Domanda

Nel tentativo di provare a confermare un altro suggerimento di poster SO per la gestione delle chiavi in ??un controllo ActiveX ospitato su una finestra di winform, ho provato a creare un controllo ActiveX MFC bare-bone, quindi a posizionarlo su un modulo di Windows. In fase di progettazione il controllo è apparso senza problemi.

Quando si esegue l'applicazione, l'eccezione temuta "Classe non registrata." viene visualizzata la finestra di dialogo.

Entrambi i progetti sono in VS 2008. L'app Winforms è un'applicazione framework .Net 3.5.

Ho provato a eseguire il debugger, da explorer (privilegi elevati in entrambi i casi) e nulla sembrava funzionare. Mi sono anche assicurato di aver registrato manualmente l'OCX con gli eseguibili regsvr32 a 64 e 32 bit.

Questo mi ha lasciato perplesso perché non mi sarei aspettato che non funzionasse. Ho fatto esperimenti simili sul lavoro (box di Windows XP a 32 bit) senza problemi.

La mia configurazione VS è la seguente:

  • Microsoft Visual Studio 2008
  • Versione 9.0.30729.1 SP
  • Microsoft .NET Framework
  • Versione 3.5 SP1

    Il bit più confuso è che il controllo ActiveX sembra apparire in fase di progettazione. Eventuali risposte, suggerimenti o pensieri saranno apprezzati.

È stato utile?

Soluzione

Avevo bisogno di cambiare l'output dell'host .Net in x86 invece di " Any Platform. " Ciò è necessario perché l'applicazione viene JITTED su x64 per cui non è stato compilato il controllo ActiveX. D'oh! L'app è stata eseguita correttamente dopo la modifica al progetto host ActiveX.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top