Cannot deploy ActiveX control

G

Guest

We are using Crystal Report 8.0 ActiveX control CRSTL32.OCX. in our .net windows application form

When I package application into an MSI file, the CRSTL32.OCX is not included as a dependency. When install and run from test machine, I got this following error

System.Runtime.InteropServices.COMException (0x80040154): Class not registere
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 AdvocacyCenter.frmReportMain.InitializeComponent(
at AdvocacyCenter.frmReportMain..ctor(
at AdvocacyCenter.frmMain.tlbMain_ButtonClick(Object sender, ToolBarButtonClickEventArgs e
at System.Windows.Forms.ToolBar.OnButtonClick(ToolBarButtonClickEventArgs e
at System.Windows.Forms.ToolBar.WmReflectCommand(Message& m
at System.Windows.Forms.ToolBar.WndProc(Message& m
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam

Then I manually added CRSTL32.OCX in the application package and set it as selfregister, compiled into msi file and installed on test machine. This time I got error message differren
Exception from HRESULT: 0x800A504

How can I register this OCX file correctly? I tried using REGSVR32.exe as well with no luck

Frank
 
G

Guest

Hi Frank

You are probably missing some of the other files that CRYSTL.OCX depends on. You will certainly also need to include CPRE32.DLL if you haven't already done so. If just adding this additional file as well does not work then use Dependency Walker to find out what other dependencies you may be missing

Gary
 
G

Guest

Thank you Gary
I did try to include CPRE32.DLL in my deploy package and set it as Sel-Register. When I install it. I got an error saying "Entry point not found", which means I don't need to register it?
Anyway, I will try your method for all dependencies

Frank
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top