Archived Forum Post

Index of archived forum posts


UnlockComponent return 58783072 and hang

Jul 06 '17 at 09:44

Activex Code:

Dim lngRet As Long

Set clsZip = New ChilkatZip2Lib.ChilkatZip2

lngRet = clsZip.UnlockComponent("#######_UZp7eD##GoX")

lngRet = 58783072 <===== Rare code


SomethingAsync: DllDate: May 25 2017 ChilkatVersion: UnlockPrefix: NONE Architecture: Little Endian; 32-bit Language: ActiveX VerboseLogging: 0 Success <<<<==== Seems Ok --SomethingAsync --ChilkatLog

clsZip.NewZip "" <==== This hang the process. Appears the Windows exepction form

In other productions servers it works, and on this server has worked for years. I have reinstalled the C++ Redistributable too. Maybe one windows update caused it?

The rare code appear in all unlockcomponent, not only in zip.

The temporary solution: I change the reference to older DLL, when they came separately and it works.

Any idea? Regards.


This is a version issue.

Make sure your application is compiled with the same version that is used at runtime. In this case, it is v9.5.0.68. Normally, it is OK to compile with an older version of Chilkat, and at runtime use a newer version. However, in the last year (or two?) a mistake was made that broke backward compatibility.

Also, be careful to know which registry is being accessed at runtime (Current User or Local Machine). When you register an ActiveX, if registering as admin, the registration will go into the Local Machine registry, whereas if doing per-user registration (not admin), the Current User registry is updated.

Let's say you register without admin privileges, updating the entries in the Current User registry, but your application runs as admin, and still gets the old ActiveX from Local Machine registry. That would be a problem (but only if the registry entries pointed to different DLLs in the filesystem..)

You can read more about the mistake that was made here: