VB6 vs Vista - registering ActiveX components
The registration of some among the most used VB6 components, can be a real pain under Windows Vista. Trying to register the following components, in fact, Vista will answer us with a nice "nope".
Here is the list of the ActiveX that generate the issue:
- msflxgrd.ocx
- comdlg32.ocx
- msbind.dll
- mswinsck.ocx
- msderun.dll
- msinet.ocx
- mswinsck.ocx
- mscomctl.ocx
- msdatlst.ocx
- msflxgrd.ocx
- msmask32.ocx
- tabctl32.ocx
- mscomm32.ocx
- msdbrptr.dll
- msdatgrd.ocx
- mscomct2.ocx
- mshflxgd.ocx
- msadodc.ocx
- msvbvm60.dll
- olepro32.dll
- comcat.dll
- msstdfmt.dll
So, how can we use these components in our applications running under Windows Vista? Easier than you thought: just unregister the component through the command:
RegSvr32 /u <file name>
Then simply register the same components again:
RegSvr32 <file name>
Thus, for each component you wish to use, you have to unregister it before, then register it immediately after. Eg., for "msflxgrd.ocx" component, just write this in the command line prompt (choose "Run as Administrator" from the pop-up menu on the Command Prompt link):
regsvr32 /u /s msflxgrd.ocx
regsvr32 /s msflxgrd.ocx
To make things easier for you, I prepared a batch file (.bat) that will do the dirty job for you, for every component of the list. The file can be downloaded here.
And to make things even much more easier, you can use CyberInstaller Suite 2008, that can easily manage package distribution on Windows Vista (and on every else Windows version). Use it and you’ll never have to worry about anything!
Monday, January 28th, 2008 : CyberInstaller Suite, Software development, Windows : 4 Comments
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Name: Sergio
4 Responses to “VB6 vs Vista - registering ActiveX components”
February 19th, 2008 at 5:04 pm
It’s not working for me. When I entered in
RegSvr32/u it keeps saying
The syntax of the command is incorrect
I am trying to run a program, but it says that Tabctl32.ocx is missing
February 20th, 2008 at 2:34 am
Try regsvr32 /u (with a space before the slash). After the parameters, you have to input the name of the ocx, eg. tabctl32.ocx, like this: regsvr32 /u tabctl32.ocx.
Note: you must enter the folder where the ocx exists (usually c:\windows\system32) before launching regsvr32. Running the file batch I mentioned in the system32 folder users does the trick.
However, if you use CyberInstaller Suite 2008 you can forget all about this, it’ll do the dirty job for you!
September 9th, 2008 at 12:54 pm
adding full pathnames may be needed so try that
August 27th, 2010 at 6:10 pm
Hello, I want to help me about vb6.
i don’t know and understand how to slide show pictures by image box when click on cmdSlide.Please tell me a brief