ViewerX and Windows 7


http://www.s-code.com/forum/Topic2702.aspx
Print Topic | Close Window

By mrowley - Wednesday, September 23, 2009
I have recently upgraded to Windows 7 (impressive for a non service pack OS from Microsoft) but I am having trouble with the ViewerX control. 

I have registered it with regsvr, I have copied my lic file to the directory where it lives.  I have rebooted, restarted VS2008, unregistered and reregistered, checked the forums, googled for activeX windows 7 issues.  I'm at a loss.

Everytime I run the app and load the form with the ViewerX on it, I get

Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

System.Runtime.InteropServices.COMException was unhandled
  ErrorCode=-2147221164
  Message="Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))"
  Source="System.Windows.Forms"
  StackTrace:
       at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)
       at System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid)
       at System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)
       at System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)
       at System.Windows.Forms.AxHost.CreateInstance()
       at System.Windows.Forms.AxHost.GetOcxCreate()
       at System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)
       at System.Windows.Forms.AxHost.CreateHandle()
       at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       at System.Windows.Forms.AxHost.EndInit()
       at getservd_Command_Center.dialog_VNCViewer.InitializeComponent() in D:\Projects\GetServd.com\gsCommandCenter\v3.1\Dialogs\dlg_VNCViewer.designer.vb:line 172
       at getservd_Command_Center.dialog_VNCViewer..ctor() in D:\Projects\GetServd.com\gsCommandCenter\v3.1\Dialogs\dlg_VNCViewer.vb:line 193

Any assistance or suggestions you might have would be greatly appreciated.

Thanks

M

By Yury Averkiev (s-code) - Wednesday, September 23, 2009
I think I know what is happening. This has nothing to do with Windows 7. ViewerX is a 32-bit ActiveX (we are planning to release a 64-bit build by the end of this year) and your .Net application was compiled as either 64 bit or as Any CPU. Due to this when you run the application it's unable to load ViewerX because 64 bit applications cannot use 32 bit ActiveX controls.

In order to get rid of this problem you would have to compile your application as 32-bit (x86).