I need packaging mscomct2.ocx.[/align]Installation would be easy (copy to system32, regsvr32) but uninstalling would be tricky as may be other applications may need it.[/align]How can I know if another application is using it and then I should leave it on the disk?[/align]
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
thats the job of conflict management.

you need either

1) set the shared dll ref count attribute on the file
2) set the component ref count (i.e. conflict management)

alternatively if your not running CMDB just mark the component as permanent. off the top of my head its either 8 or 16 to mark component as perm .
Answered 10/05/2008 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
ORIGINAL: Francoisracine
I need packaging mscomct2.ocx.Installation would be easy (copy to system32, regsvr32)
How many times? No, no, no, NO! Do NOT register components this way, or by using the SelfReg table! Why? If ANY dependency is missing, registration will fail. Use your packaging tool's utilities to extract the COM information into a .REG, import the .REG into the registry and, if prompted (IIRC, you're a WPS user so you should have self-registration turned off and should therefore be prompted), elect to use the advertising tables instead.

There is a school of thought that says even this is a bad idea but pragmatically, in most scenarios, it makes sense.
Answered 10/06/2008 by: VBScab
Red Belt

Please log in to comment
0
We are just using SMSInstaller and batch files to do the job. As regsvr32 is builting, why should I not use it. It is just a ocx.

The if I need uninstalling the ocx, how would I prevent a conflict?
Answered 10/06/2008 by: Francoisracine
Third Degree Blue Belt

Please log in to comment
0
1) set the shared dll ref count attribute on the file
2) set the component ref count (i.e. conflict management)
alternatively if your not running CMDB just mark the component as permanent. off the top of my head its either 8 or 16 to mark component as perm .


This is unclear. How are you doing this?
Answered 10/06/2008 by: Francoisracine
Third Degree Blue Belt

Please log in to comment
0
We are just using SMSInstaller and batch files to do the job. As regsvr32 is builting, why should I not use it. Well, you didn't say that in your first post, you said you were packaging it. As such, using RegSvr32 is the lazy way to register DLLs and OCXs. As I said, if those files have dependencies on other files which are missing on the target, registration will fail.

The if I need uninstalling the ocx, how would I prevent a conflict? You can't control reference-counting using SMS and dumb batch files. If that's your chosen method, you're going to have to build a monumental script to do what an MSI (which SMS can handle) and the Windows Installer engine will do for you out of the box. If you add up the time you've spent posting and reading responses, you could have built such an MSI. :)

EDIT:
IIRC, Wise makes available for download a merge module containing this OCX. If not, you can convert the MSI you're going to build to a MM and use it for other apps which require it. End of conflict.
Answered 10/06/2008 by: VBScab
Red Belt

Please log in to comment
0
i would convert it to msi. your more than capable you have been usign it long enough now.

windows installer is designed to cater for this very situation you face. not sure why you like staying with the old school methods when you know the new school of thought.
Answered 10/13/2008 by: jmcfadyen
Fifth Degree Black Belt

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