Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1454
  • Last Modified:

Failed to Load Control. Version might be outdated.

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!
0
koossa
Asked:
koossa
  • 3
  • 2
  • 2
  • +1
1 Solution
 
YiogiCommented:
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.
0
 
jayneeIT ManagerCommented:
Just a basic check - you have done an install on the second workstations, not just copied across the exe?
0
 
YiogiCommented:
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.
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
koossaAuthor Commented:
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.


0
 
koossaAuthor Commented:
When I run depends.exe on my exe, all the dlls are there without a problem.
0
 
jayneeIT ManagerCommented:
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.
0
 
koossaAuthor Commented:
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

..\Common\ActiveX\buttons\UCButtonSmall.ctl

So it is not referenced to a dll, ocx or oca file, but a ctl!
0
 
judgekingCommented:
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:

http://web.archive.org/web/20080513102621/http://msdn.microsoft.com/en-us/vstudio/aa718352.aspx
- 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.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now