How do I check a components GUID - e.g MSINET.ocx
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
If you just need to check and look at the GUID, use the component table and see the componentID column

If you need an automated way to extract it and use it in your MSI or script, I'd suggest Wise support or Altiris support forum

Somebody is sure to have come up with a macro or script to do this.
Answered 02/02/2005 by: aogilmor
Ninth Degree Black Belt

Please log in to comment
0
How about checking a GUID that's on an image?

I have a situation where I believe a package which has been pushed out has corrupted .ocx's GUID and wish to check what is should have been on a base build - basically a before and after check
Answered 02/03/2005 by: Naffcat
Senior Purple Belt

Please log in to comment
0
I just needed to know where to look in the reg.

HKCR...CLSID was where from which I just search for the file.
Answered 02/03/2005 by: Naffcat
Senior Purple Belt

Please log in to comment
0
if it's a "bad" ocx have the MSI replace it using normal versioning rules.

clsid seems a rather roundabout way of doing it.
Answered 02/03/2005 by: aogilmor
Ninth Degree Black Belt

Please log in to comment
0
Could you kindly explain what the normal versioning rules are?
Answered 02/03/2005 by: Naffcat
Senior Purple Belt

Please log in to comment
0
The GUIDS in the registry are not in the same format as the correct GUIDS.

Besides, you seem to like VBScript so here's an "automated" method:

Set oMSI = CreateObject("WindowsInstaller.Installer")

Set oComponents = oMSI.Components

For Each sCompID in oComponents

Set oClients = oMSI.ComponentClients(sCompID)

For each sClient in oClients

sProdCode = sClient

sKeyPath = LCase(oMSI.ComponentPath(sProdCode, sCompID))

If Instr(sKeyPath,"msvcrt.dll") <> 0 Then

Msgbox sProdCode & " - " & sCompID & " - " & sKeyPath

End If

Next

Next

Set oClients = Nothing
Set oComponents = Nothing
Set oMSI = Nothing

The script should return the ProductCode (that's using the component), the ComponentId, and the component's keypath. SInce the file you're checking is an OCX, it should be the keypath for it's component, so this script should work. You may get several results, because several products might be using the component (most probable with "msvcrt.dll"). As long as the ComponentId is always the same, you should be alright.
Answered 02/04/2005 by: WiseUser
Fourth Degree Brown Belt

Please log in to comment
0
That's great thanks, hopefully it'll help me track down the problem.
Answered 02/04/2005 by: Naffcat
Senior Purple Belt

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