English 中文(简体)
Why would an ocx control not register properly?
原标题:

I am writing an app that needs to use a third party ocx control. In my Inno Setup script I include the line:

Source: C:aPathaControl.ocx; DestDir: {app}; Flags: restartreplace sharedfile regserver

It looks like the control is registered, but the installed app gives me EOleSysErrors that the control isn t registered when working in Win2000. Any thoughts about what s going on here, or how to fix it?

Thanks, as always!

p.s. I m working with admin level control. I assume this is always required when registering an ActiveX control. (Is that right?)

最佳回答

If the problem occurs only on Windows 2000 but not on later OS versions this could be caused by missing dependencies, like DLLs or other OCX files that are not part of the standard Windows 2000 installation. Versions of the Microsoft C runtime library come to mind. To track down these kinds of problems you should use the free Dependency Walker. Copy it to the problematic machine and use it to open the OCX file, then any missing library entry points or libraries will be shown.

You can also use the tool as a debugger to run your application under. It will show a lot of information about loaded modules and similar stuff that may help pinpoint the problem.

And yes, to register an OCX you need an Administrator or Power User account.

问题回答

The most likely reason I can think of for this is because you haven t installed VCRedist_x86.exe on the machine.





相关问题
Why would an ocx control not register properly?

I am writing an app that needs to use a third party ocx control. In my Inno Setup script I include the line: Source: C:aPathaControl.ocx; DestDir: {app}; Flags: restartreplace sharedfile regserver ...

Python OLE2 date format conversion

I have created a python script which pulls data out of OLE streams in Word documents, but am having trouble converting the OLE2-formatted timestamp to something more human-readable :( The timestamp ...

Copying between VARIANT and _variant_t

I m fairly certain that I can safely do: void funcA(VARIANT &V,_variant_t &vt) { vt = V; } But what about the other way around: void funcB(VARIANT &V,_variant_t &vt) { V = ...

Can multiple ProgIDs point to the same ClsID?

I am working on a set of what are essentially plugins, which are COM servers. Each plugin has a set of configuration data which is managed by another component, the primary key to the configuration ...

Word document printed on MS Access report using OLE object

For years, we have been printing Word 2003 documents that have been saved to a OLE object column using an access report. We are using Access 2003. For some reason when we copy a Word 2003 document ...

Permission Denied in IE w/ iDispatch DISPATCH_PROPERTYGET

I have an ActiveX control that I ve written using ATL, and am running into a somewhat serious and confusing problem. When iDispatch::Invoke is called with DISPATCH_PROPERTYPUT/METHOD everything is ...

热门标签