Unicode Controls & Classes for VB6 - Version 4

Common Problems

We are always working hard to release new stable versions of our library; if you find a problem or bug please let us know so we can fix it.
Sometimes there could be problems not related directly to our library but to Windows components that our library uses.

This problem has been reported from some users of Windows 7 - 64 bit after the installation of IE10 or Office 2010 (The problem persists also in Win 7 - 32 bit after the installation of IE11)
The issue is related to the fact that "Windows Common Controls" libraries (mscomctl.ocx and mscomct2.ocx) cannot be loaded anymore in the VB6 environment.
This seems to be related to the fact that the Interface of the Common Controls library has changed or to a certificate that had a wrong date.
Our library can be released with your program in production without problems.

Check here for details:
http://answers.microsoft.com/en-us/ie/forum/ie10-windows_7/common-controls-do-not-load-in-vb6-after-ie10/484d3294-162c-41d8-b349-1c90dff9b36b
http://support.microsoft.com/kb/2748410
http://www.vbforums.com/showthread.php?716089-Windows-7-64-bit-Library-Not-Registered-problem

The solution that worked for us (integrated in the latest setup package):
  1. Run the cmd.exe using the "Run as Administrator" option (i.e.: right mouse button click on cmd.exe and select "Run as Administrator").
  2. Then type in the following commands and it should fix the problem:
cd C:\Windows\SysWOW64\
regtlib msdatsrc.tlb
   
In Win 7 - 32 bit just write:

regtlib msdatsrc.tlb

Or try one (or more) of the following solutions:
http://www.microsoft.com/en-us/download/details.aspx?id=30505
http://support.microsoft.com/kb/2748410
C:\Program Files (x86)\Microsoft Visual Studio\Common\Tools\VB\Controls\Controls_Backup\MSCOMCTL.OCX to C:\Windows\SysWOW64\
This error is caused by the Windows UAC, close VB6 then retry; if the problem persists, open the VB6 environment from an Administrative account (Right click on the VB6 executable then choose "Run as Administrator") then load your project again.
This error can be caused by 3 reasons:
  1. The HexOle2x.tlb has not been correctly registered; in this case just add a reference to this file from your project, close VB6 then retry
  2. The HexUniControls.ocx cannot be loaded because its interface changed; in this case check the history for details then upgrade your sources with the Project Converter so your project will be able to use the right version of the library.
  3. The Windows UAC, the solution is the same as the previous item
If your VB6 environment crashes when opening a form that contains one of our controls or our utilities don't start (Project Converter, UTF8 Converter) you have the same problem we experienced in one of our test machine.
The problem is quite strange and happens in one of two identical machines, the other 8 works as expected; the problem seems not to be related to the Microsoft Common Controls library.

When copying the library sources to this PC and executing VB6 using the sources all works perfectly; maybe a library reference problem from a PC to PC?

The machine is a Win XP SP3 32bit with IE8, VB6 SP6b

What didn't help:
We are now testing with "sfc/scannow" application...
This error happens when the project refers to a library that has a different interface from the one expected.
It usually happens when your .vbp project has been compiled in a new system (Win7, Win8) with the project flag "Upgrade ActiveX Controls" checked (in the project settings);
this causes VB6 to use the very latest version of every library linked by the system so if you execute the compiled application in XP probably it will not work as expected.
Solution: Open the .vbp project in XP, Uncheck the "Upgrade ActiveX Controls" flag, Save the project; on this way you can compile you app in every system and it will continue to work.