VB6 Deployment not working for Second user

Viewed 65

I have a VB6 Application that I am deploying using Microsoft Development Environment.

The install package is working for Windows 7/10 32/64 bit.

The problem I am having is if a second user logs into windows and runs the installed app some of the controls are not working. Forms that contain MSCOMCT2.OCX, TABCTL32.OCX and maybe others fail saying: "Component ... or one of is dependencies not correctly registered: a file is missing or invalid"

But once again for the user that installed the app all is good. I see in other installs there is a choice to install for only me or all users. I don't see a way to implement that in "Microsoft Development Environment", is this my problem?

What changes if you install an app for All users?

1 Answers

This may have to do with registry virtualization. The application may be running in some kind of compatibility mode so that the controls are not really being installed system-wide.

I'm not too familiar with those settings but it might be possible to adjust them so that the DLLs/OCX files are genuinely registered for all users and the application runs accordingly. There is a risk that if the compatibility settings were set intentionally, this could break something else.

Hopefully this is a useful starting point.


I will add that IMO installing the application not to require registration whatsoever is a much more robust solution. See How can you force VB6 to use the DLLs and OCXs from the app directory?

Related