Vra

Ons het 'n Winforms aansoek geskryf in C # wat die AxAcroPDFLib.AxAcroPDF komponent gebruik om te laai en 'n PDF-lêer te druk. Is besig om sonder enige probleme in Windows XP. Ek het my ontwikkeling omgewing verskuif na Vista 64 bit en nou die aansoek sal nie uitgevoer word (op Vista 64), tensy ek die AxAcroPDF komponent te verwyder. Ek kry die volgende fout wanneer die aansoek loop:

"System.Runtime.InteropServices.COMException: Klas nie geregistreer (Uitsondering van HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). "

Ek is in kennis gestel van die Adobe Forum dat die rede vir die fout is dat hulle nie 'n 64 bit weergawe van die AxAcroPDF ActiveX control het.

Is daar 'n manier om hierdie probleem? Byvoorbeeld kan ek sit die 32bit ActiveX control vir 'n 64bit beheer myself?

Was dit nuttig?

Oplossing

Jy kan Adobe se ActiveX control nie skakel na jouself 64bit, maar jy kan jou aansoek te dwing om uit te voer in 32bit af deur die oprigting van die platform teiken om x86.

Vir instruksies vir jou weergawe van Visual Studio, sien afdeling 1.44 van Kwessies Wanneer Gebruik Microsoft Visual Studio 2005

Ander wenke

Die NET Framework 1.1 is altyd gerig op 32 stukkies CPUs terwyl NET Framework 2.0 en hoër kan teiken 32 stukkies of 64 stukkies volgens die eiendom processorArchitecture van die program duidelik verander deur opsie van die Visual Studio IDE die 'platform Target " . Met die verstek opsie 'Enige CPU, is die IL-kode saamgestel volgens die platform, maar natuurlik die COM oproep aan die AxAcroPDF 32 stukkies komponent versuim as die platform is 64 stukkies. Net weer op te bou die EXE om net te teiken 32 stukkies platform. Dit werk goed met die WOW64 emulator in Vista 64 stukkies.

Gebruik DLL isolasie, werk met elke 32bit COM + aansoek. Sien meer by: http://support.microsoft.com/kb/281335

Met hierdie oplossing kan jy jou 32 bit COM + aansoek te isoleer in 'n aparte 32bit proses.

64bit aansoeke soek geïnstalleer COM + voorwerpe by: HKLM \ Software \ Klasse, maar 32bit aansoeke gebruik HKLM \ Software \ WOW6432 \ Klasse

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top