Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


Failed to Load Control. Version might be outdated.

Posted on 2010-09-12
Medium Priority
Last Modified: 2012-05-10
I'm developing a desktop application using VB6

I've got a Standard EXE project, with a couple of forms and a couple of user controls in the one project.
When I compile it, the user controls are supposed to compile as one exe.

When I execute the exe on my pc, it is working, but on another pc I get the following error :

"Failed to load control 'UCButtonSmall' from .  Your version may be outdated.  Make sure you are using the version of the control that was provided with your application."

As far as I can see, the user control's properties are the same as all the other controls that are working.

I have uninstalled, reboot, re-install, recompile, but nothing!
Question by:koossa
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +1

Expert Comment

ID: 33658479
Check if you have a different version in your GAC (%windir%\assembly). There should also be an option in your project when you select the reference to the control "Use Specific Version". Set it to false.

Expert Comment

ID: 33658555
Just a basic check - you have done an install on the second workstations, not just copied across the exe?

Expert Comment

ID: 33658945
Oh I didn't read the post well I suppose. I didn't notice it wouldn't work on another pc. Are you sure you copied all the dlls needed on the second computer? And as in my original post check the GAC. It might be that you have the dll there and that's why it works on yours and not on the second pc.

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.


Author Comment

ID: 33659522
Please note, this is a usercontrol that was added to the project, it does not compile into a separate dll, it's compiled into the project exe.

There is nothing in %windir%\assembly
I don't see the "Use Specific Version", because the usercontrol is part of the exe, it is not in references or components.

I have build an install, but the install only copies the exe to the correct location and create a shortcut on the desktop.

The other vb retaled dlls are already on the machine.


Author Comment

ID: 33659529
When I run depends.exe on my exe, all the dlls are there without a problem.

Expert Comment

ID: 33659581
When you added the user control to the project, what file did you make reference to, in order to get it in? An OCX? OCA? DLL? That file is probably what should be distributed as part of your install, and registered with the target machine.

Author Comment

ID: 33659613
Create an new standard exe, now go to project, select add new user control.
When you compile the project the user control will be compiled into the exe.

When I open the .vbp file with notepad it reference to


So it is not referenced to a dll, ocx or oca file, but a ctl!

Accepted Solution

judgeking earned 2000 total points
ID: 33666947
I've had this problem too, the new PC doesn't have all the files your project or CTL file requires.

Sounds like you need to just build an installer package.  Do you have Visual Studio 2000 or greater?  If not, do you have Visual Studio Installer?  MS has removed the download from their website (it's a little old now, but so is VB6, right?), but you can still download it at the Webarchive at:
- download setup1.exe and setup2.exe

Create a new VB Installer project, and import your VB6 project from Project>Add VB Project Outputs.  It will pull in all the files your app references and build an installer package (MSI file).  It's a good tool, you can create shortcuts where you want, control install dialog boxes, etc.

Let me know if you have any problems.

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Suggested Courses

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question