tabctl32.ocx error on windows vista
hi all i have an exe file that has tabs when i run the project on xp i dont get error but when i run it in windows vista i get this error:
component tabctl32.ocx or one of its dependencies not correctly registred : af file is miising or invalid
i downloaded tabctl32.ocx and placed it in both project folder and system32 folder but still same error. could any one tell me how to fix this problem and run the exe in windows vista?thanks
Re: tabctl32.ocx error on windows vista
You really should contact the developer and obtain an installation package for this program. Copying EXEs around is generally problematic. Many component libraries come in tailored versions for specific Windows versions and must be deployed differently for different editions (for a 64-bit Windows edition such a 32-bit component does not go into System32, registration under UAC must be done correctly, etc.). There are very good reasons to never put them in the EXE's directory.
Re: tabctl32.ocx error on windows vista
Quote:
Originally Posted by
dilettante
You really should contact the developer and obtain an installation package for this program. Copying EXEs around is generally problematic. Many component libraries come in tailored versions for specific Windows versions and must be deployed differently for different editions (for a 64-bit Windows edition such a 32-bit component does not go into System32, registration under UAC must be done correctly, etc.). There are very good reasons to never put them in the EXE's directory.
thanks for your reply. the author the program is myself .What should i do in order that my program run in vista ?
Re: tabctl32.ocx error on windows vista
If you create a setup package using the Package and Deployment Wizard it should work fine as long as the program does not try to write to files and folders under the Program Files folder or registry keys under HKLM or HKCR. Ideally you'd have a application manifest embedded in your EXE as well, which prevents Windows from Vista onward from applying appcompat shims such as filesystem and registry virtualization, but that's a bigger topic and not essential.
When the setup is run it should request elevation, which will help get the components registered properly.
Re: tabctl32.ocx error on windows vista
You don't say which version of Vista 32bit or 64bit you are trying to run this exe on Tony. I run VB6 on Vista 32bit with no problem from any component. I think you may find the Vista 64bit has a different way of registering components.
With any VB component you don't actually need to register any component to run an exe the ocx it just has to be in the Windows\System32 folder. It only has to be registered for VB6 IDE.
This has been talked about on here before if you do a search. ;)
Re: tabctl32.ocx error on windows vista
Quote:
Originally Posted by
Keithuk
With any VB component you don't actually need to register any component to run an exe the ocx it just has to be in the Windows\System32 folder. It only has to be registered for VB6 IDE.
Don't do this.
It "works" by your program starting and the VB6 runtime locating the library via the DLL Search heuristics in Windows, then once it loads the library it invokes the SefReg entrypoint of the library to register it.
Self registration isn't always correct for an old library in current Windows versions, however if a PDW setup will work then this should work as well. This is really "by guess and by golly" hacking though, and isn't recommended.
And whatever you do don't just try to plop stuff into System32, because that's not where these things go on a 64-bit Windows system.
Do yourself a favor and make an installation package.
Re: tabctl32.ocx error on windows vista
Quote:
Originally Posted by
Keithuk
it just has to be in the Windows\System32 folder
I think you mean "Windows\SysWOW64 if it exists or, if it doesn't, Windows\system32".
@tony007: have you registered the .ocx using regsvr32?
Re: tabctl32.ocx error on windows vista
When a 32-bit installer runs it sees SysWOW64 as its System32, so there is no issue.
Where you get into trouble is manually copying files from Explorer or the command prompt, which are 64-bit processes under Win64.
Re: tabctl32.ocx error on windows vista
Quote:
Originally Posted by
dilettante
When a 32-bit installer runs it sees SysWOW64 as its System32, so there is no issue.
Where you get into trouble is manually copying files from Explorer or the command prompt, which are 64-bit processes under Win64.
Precisely; I mentioned it for this latter case, but thank you for clarifying.
Re: tabctl32.ocx error on windows vista
I think you were about to mention that there are TWO regsvr32's on a 64-bit system too.
Re: tabctl32.ocx error on windows vista
True he could make an instalation package but we still don't know which OS he's trying to run it on, 32bit or 64bit so we are only speculating at the moment because he hasn't been back.
Like VB6 P&D Wizard is 13 years old now so I would think he would be better of using Inno Setup. ;)