MSCOMCTL.ocx missing Windows 10 - vb6

I have some vb6 applications that i'm trying to move from Windows 7 to Windows 10. I have the .exe file, but when I tried to open it - it tells me that:
C:\App_1\MSCOMCTL.OCX could not be loaded - Continue Loading Project?
I searched for this file in C:\Windows\SysWow64 and found that the file is actually there as Type: ActiveX Control.
Any reason why I'm still getting the error?

The ocx control should be in your Syswow64 (if 64 bit pc) folder and not in the app folder, and it needs to be registered manually (common vb6 problem in Win7, 8 ,10).
It seems you can see the file, but it might not be registered.
Run cmd in administrator mode, type regsvr32 C:\Windows\SysWOW64\MSCOMCTL.OCX.
This should solve the problem

Related

msrtedit.dll cannot be loaded for vb6 project on Windows 8.1

I have loaded vb6sp6 on a Windows 8.1 new development PC. Unfortunately when I attempt to open a project I receive the following error:
'C:\Project Folder\MSRTEDIT.dll' could not be loaded--Continue Loading Project?
That dll is located in C:\Windows\SysWOW64 but not the project folder, however copying it to the project folder still produces the error. On my previous Windows 7 64-bit development PC the dll is just located in C:\Windows\SysWOW64. If I click Yes to get past the error I receive the same error for MSCOMCTL.OCX I can successfully register the ocx but it doesn't get rid of the error.
Any suggestions??
The installation puts msrtedit.dll in the system folder so that PCs without Access can still run the program. The problem on my Windows 8 machine is that the msrtedit.dll file installed in the SysWOW64 folder was older than the one used by Office 2013, so even though the .exe file was able to run, I couldn't modify the exe in VB6 because of the newer version of Office. I still have more configuring to do, but I at least know where the problem is now. Thanks for getting me moving in the right direction.

C:\Progra~2 not working in OEM Version of Windows 8

I am working on creating a batch file in Windows 8, which won't accept "C:\Program files" in its body because the space between Program and files gives an error. So, I used "C:\Progra~2".
I want to access Program files (x86).
I have two Windows 8 PC's: Windows 8 PRO and Windows 8 OEM.
When I type "C:\Progra~2" from File Explorer to access program files (x86) it opens successfully in Windows 8 PRO.
But when I do the same in Windows 8 OEM, it says
Windows cannot find C:\Progra~2.
I am not sure whether this is an issue with the PRO and OEM versions.
Can anyone help me find the solution?
Use a batch built in Constant: %ProgramFiles%. It also works on non-englisch windows Version, which your ~2 does not.
Are you sure there are two program files on both machines? Try C:\Progra~1 and see if that opens the right folder.
If you want to open a general programs file folder use %ProgramFiles%

Object Library Not Registered When Adding Windows Common Controls 6.0

I am trying to install Visual Studio 6 on a Windows 7 32bit machine.
The OS intall was from bare metal.
I followed the instructions mentioned here (which I have used before)
The install went fine with no errors reported but when I try to add the Microsoft Windows Common Controls 6.0 to the toolbox I get the "Object Library Not Registered" Error.
I tried doing a manual uninstall and reinstall of the OCX which both succeeded but I still have the same error.
I tried installing SP6 and that installed without error (and updated the OCX to a newer version) but I still have the same problem.
EDIT:
As mentioned below on further investigation it seems that the IE10 update breaks the MSCOMCTL.ocx. However I also think this is something to do with the order because I have another Windows 7 machine with IE10 that works fine.
On 32-bit machines:
cd C:\Windows\System32
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb
or on 64 bit machines:
cd C:\Windows\SysWOW64
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb
These need to be run as administrator.
I can confirm that this is not fixable by unregistering and registering the MSCOMCTRL.OCX like before. I have been trying to pin down which update is the source of the problem and it looks like it's either IE10 or IE10 in combination with some other update that's causing the problem. If I can get more time to invest in this I'll update my post but in the meantime uninstalling IE10 resolves the issue.
...and on my 64 bit W7 machine, with VB6 installed... in DOS, as Admin, this worked to solve an OCX problem I was having with a VB6 App:
cd C:\Windows\SysWOW64
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb
YES! This solution solved the problem I had using MSCAL.OCX (The Microsoft Calendar Control) in VB6.
Thank you guys! :-)
You Just execute the following commands in your command prompt,
For 32 bit machine,
cd C:\Windows\System32
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb
For 64 bit machine,
cd C:\Windows\SysWOW64
regsvr32 mscomctl.ocx
regtlib msdatsrc.tlb
I have been having the same problem. VB6 Win7 64 bit and have come across a very simple solution, so I figured it would be a good idea to share it here in case it helps anyone else.
First I have tried the following with no success:
unregistered and re-registering MSCOMCTL, MSCOMCTL2 and the barcode active X controls in every directory I could think of trying (VB98, system 32, sysWOW64, project folder.)
Deleting working folder and getting everything again. (through source safe)
Copying the OCX files from a machine with no problems and registering those.
Installing service pack 6
Installing MZ tools - it was worth a try
Installing the distributable version of the project.
Manually editing the vbp file (after making it writeable) to amend/remove the references and generally fiddling.
Un-Installing VB6 and re-Installing (this I thought was a last resort) The problem was occurring on a new project and not just existing ones.
NONE of the above worked but the following did
Open VB6
New project
>Project
>Components
Tick the following:
Microsoft flexigrid control 6.0 (sp6)
Microsoft MAPI controls 6.0
Microsoft Masked Edit Control 6.0 (sp3)
Microsoft Tabbed Dialog Control 6.0 (sp6)
>Apply
After this I could still not tick the Barcode Active X or the windows common contols 6.0 and windows common controls 2 6.0, but when I clicked apply, the message changed from unregistered, to that it was already in the project.
>exit the components dialog and then load project.
This time it worked.
Tried the components dialog again and the missing three were now ticked. Everything seems fine now.
You can run the tool from Microsoft in this KB http://support.microsoft.com/default.aspx?scid=kb;en-us;Q195353 to fix the licensing issues for earlier ActiveX controls. This worked for me.
To overcome the issue of Win7 32bit VB6, try copying from Windows Server 2003 C:\Windows\system32\ the files mscomctl.ocx and mscomcctl.oba.

Error 424 For VB6 Product on Windows 7, Not XP

I created a Visual Basic 6 application that runs without a hitch on my Windows XP machine, though every time I try it on my Windows 7 machine, I receive a 424 (object required) error.
I've tried using compatibility mode and sending the requisite OCXs to the {sys} folder during setup, but to no avail.
Thanks much.
The OCX files also need to be registered.
Also there is probably a better place for them than the {sys} folder.

Qt dll deployment on windows

I have got a strange problem with my deployment of an Qt application. I created a Zip with all the necessary dlls and my binary on my Windows XP 32 bit box, where the application worked just fine,
Then I tested this on my laptop running windows 7 64 bit, giving me strange results. The window icons are back to the default ones and my system tray icon is invisible. Everything else is working.
As I paint a logo from the same resource file on the window (and this works on both machines) the resource file should be loading fine.
I then copied the dlls (that I installed with the same installer) from my win7 machine to the directory of my binary and the icons work again. I checked the dlls hash and they are identical.
Also I tried these dlls on my XP machine, and this time it does not show the icons.
This is quite strange because the dlls are installed from the same package and are identical, but are not working on the other machine.
Is there anything I have overlooked?
I am using QT 4.7 and the msvs2008 installer plus addin.
If you deploy the plugins to your application directory you have to use the directories imageformats and iconengines (without the plugin/ prefix).
See the Documentation about Deploying Plugins
Edit: And if you use QML, you also have to copy the content of the "imports" directory (also without the imports/ prefix) to your application directory.

Resources