hi I'm new to this group,it has been a splendid experience for me to see the solutions in this forum.I have a problem in packaging an application,the appln. has an OCX file TLIST32p.ocx which get self-registered during the installation.Installation proceeds with the warning message "the tlist32p.ocx file failed to register".

Can anyone help me in registering this OCX file.i would love to hear the reason ,why this is not getting registered properly.
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
Hi Dynamic!

How have you done the package?

If you use the Snapshot method in InstallShield, the OCX-files gets registred as long as the installation will register it. You can see that, if you have a look in the Components list. The Components that has been named with the end "_COM". For example: TLIST32.OCX_COM

/Jonas
Answered 12/08/2005 by: jonasm
Blue Belt

Please log in to comment
0
hi jonasm,
thanks for ur prompt response.i have done the repackaging through snapshot method as i got the source in the form of a MSI.all i have to do is the customizations.

The problem is with the source itself.Now is there any method to self register the OCX file manually.The OCX file is getting self registered during the installation of MSI which is the cause for the pop-up that "self registration has failed".

Temporarily, i have disabled the self-register option of the file from the file properties under the components view of the Installshield tool.
Answered 12/11/2005 by: dynamic
Senior Yellow Belt

Please log in to comment
0
sorry jonasm,
small correction in my previous post.i haven't done the snapshots.i mis-typed haven't as have.

hoping a reply from u.
Answered 12/11/2005 by: dynamic
Senior Yellow Belt

Please log in to comment
0
Hi,

If the file isn't registering correctly with the manufacturers install routine then I'd get in touch with them first. Maybe the version you are using isn't fully compatible with the operating system?

You can try registering the file manually at the end of the vendor install from a command line:

regsvr32 path\file.ocx

e.g. regsvr32 c:\windows\system32\myfile.ocx

But chances are you'll get the 'failed to register' error again - I'd worry about getting the vendor setup to work properly before trying to fix errors in their installation... If they say the error doesn't matter then you don't need to worry about and can leave registration disabled in your pacakge.

You can use regsvr32.exe to register .dll and .ocx files

Hope it helps,
Rob.
Answered 12/12/2005 by: MSIPackager
Third Degree Black Belt

Please log in to comment
0
hi rob,

Thanks for the response and for your valuable information.I got clarifed in that issue from the client side,that i can ignore the error message.

But I want to know why do some files won't get registered properly.and what if regsvr32 also won't work.Is there any other method tp register the dll's and ocx files.

regards,
dynamic.
Answered 12/12/2005 by: dynamic
Senior Yellow Belt

Please log in to comment
0
Not all DLL and OCX files can be registered.

Some require other files to be registered first but some just don't require registration...

Regards,
Rob,
Answered 12/12/2005 by: MSIPackager
Third Degree Black Belt

Please log in to comment
0
hi rob,

Now I would like to know more about the nature of OCX files and particularly TLIST32P.oczx file,whether it has any dependencies and it needs any other files to be registered.

Help me in resolving this issue.

Anyway thanks for your suggestions.

regards,
dynamic.
Answered 12/12/2005 by: dynamic
Senior Yellow Belt

Please log in to comment
0
Hi again Dynamic!

To make it clear what i wrote before: (This is if you use InstallShield to repackage)
1. If you use the snapshot method your COM-registrations will be included in the package. The components thats have been registred has been renamed to ComponentName_COM. This is because Snapshot Method listens to regsrv32-calls. Remeber that you don't need to manually register the COM-files that InstallShield already has registred for you.
2. If you use the Installation Monitoring method your COM-registration will NOT be registred. This is because Installation Monitoring does not listen to regsvr32-calls. In this case you need to register them yourself.

You can usually use Dependency Walker, http://www.dependencywalker.com/, to find out what a exe/dll/ocx-file has for dependencys. It's free to use.

Microsoft has there own database for DLL-files (not OCX's tho!). Here can you search for (microsoft-) DLL-files and se what they are for. http://support.microsoft.com/dllhelp/

This maybe did not help you in this case, but I hope you learned something new!

/Jonas
Answered 12/12/2005 by: jonasm
Blue Belt

Please log in to comment
0
The following command will tell you whether a library is intended to self-register:

Findstr /i DllRegisterServer <path to dll or ocx file>

If you get anything back in the console window, it's a self-registering library. The dependency walker tool will also tell you this information.

Sometimes libraries depend on other libraries to be registered before they can be regsitered themselves. "Regsvr32" does not always return helpful information in these cases.

Sometimes you can get more useful information by running the following command line:

Rundll32 <path to dll or ocx file>,DllRegisterServer

Note that "DllRegisterServer" is case-sensitive.

Dependency walker can also be used to determine what the dependencies might be. Otherwise, "Filemon.exe" can be used whilst running "Regsvr32" to provide clues.
Answered 12/13/2005 by: WiseUser
Fourth Degree Brown Belt

Please log in to comment
0
hi jonasm,
Thanks for the reply again.The information you gave me is very useful in driving me to resolve the issue clearly.

So.I'll try to find out the solution and report you about the results.

I thank you once again.
Answered 12/13/2005 by: dynamic
Senior Yellow Belt

Please log in to comment
Answer this question or Comment on this question for clarity