Util to find Product & Upgrade codes?
Anyone know of a freeware utility that will permit a 1st level tech to easily view Application / Product Code / Upgrade Code of all apps installed on a workstation?
0 Comments
[ + ] Show comments
Answers (10)
Please log in to answer
Posted by:
plangton
19 years ago
VikingLoki,
Try the following .VBS script, it takes a while to run (as in it took 8 minutes on my PC here) but it does work. Was a good exercise in WMI queries too :)
'set computer name - replace variable with appropriate value
Computer = "."
Set objWMIService = GetObject("winmgmts:\\" & Computer & "\root\CIMV2")
'obtain collection of Windows Installer packages
Set MSIapps = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer &_
"\root\cimv2").ExecQuery("select * from Win32_Product")
'obtain number of program in collection
AppList = AppList & MSIapps.Count & " MSI packages installed:" & VBCRLF & "------" & VBCRLF
'enumerate the names of the packages in the collection
For each App in MSIapps
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_Property" _
& " WHERE ProductCode = '" _
& App.IdentifyingNumber _
& "' AND Property = 'UpgradeCode'" )
For each objItem in Colitems
upgcode = objItem.Value
exit For
Next
AppList = AppList & App.Name _
& App.IdentifyingNumber & upgcode & VBCRLF
Next
'display list of packages
Wscript.Echo AppList
Try the following .VBS script, it takes a while to run (as in it took 8 minutes on my PC here) but it does work. Was a good exercise in WMI queries too :)
'set computer name - replace variable with appropriate value
Computer = "."
Set objWMIService = GetObject("winmgmts:\\" & Computer & "\root\CIMV2")
'obtain collection of Windows Installer packages
Set MSIapps = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer &_
"\root\cimv2").ExecQuery("select * from Win32_Product")
'obtain number of program in collection
AppList = AppList & MSIapps.Count & " MSI packages installed:" & VBCRLF & "------" & VBCRLF
'enumerate the names of the packages in the collection
For each App in MSIapps
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_Property" _
& " WHERE ProductCode = '" _
& App.IdentifyingNumber _
& "' AND Property = 'UpgradeCode'" )
For each objItem in Colitems
upgcode = objItem.Value
exit For
Next
AppList = AppList & App.Name _
& App.IdentifyingNumber & upgcode & VBCRLF
Next
'display list of packages
Wscript.Echo AppList
Posted by:
Thaiboxer
19 years ago
Posted by:
bkelly
19 years ago
Posted by:
VikingLoki
19 years ago
We are deploying XP and moving to a locked down, packaged software delivery environment. Problem is that we expect that the rollout will exceed the capacity of the packaging resources. We'll have the major apps covered, but we'll probably be nickel & dimed to death on the oddball apps. I'd like to have whatever Product / Upgrade codes are available for these manually installed apps so I at least have a shot of dealing with it in an automated fashion. I can find these codes, but it's a bit much for some of the staff doing the gruntwork. I have to make it easier for them.
What I need is a way for them to reference the app they just installed to obtain the codes, or better yet, a launcher that will initiate a manual install and log where-when-who. With logged manual installs from a standard source, I can get the codes myself and know what I have to fix retroactively.
What I need is a way for them to reference the app they just installed to obtain the codes, or better yet, a launcher that will initiate a manual install and log where-when-who. With logged manual installs from a standard source, I can get the codes myself and know what I have to fix retroactively.
Posted by:
Thaiboxer
19 years ago
Hey Viking -
Do you have SMS? If so, you could query your software inventory on migrated machines and filter for known-packaged apps. I'd prefer to go that route over monitoring manually installed applications. There are so many variables to consider on manual installs, it'd be nearly impossible to write logic to cover them all... your idea of an installation-kickoff program seems the best bet, but it'd only take one rogue field engineer to screw things up.
Do you have SMS? If so, you could query your software inventory on migrated machines and filter for known-packaged apps. I'd prefer to go that route over monitoring manually installed applications. There are so many variables to consider on manual installs, it'd be nearly impossible to write logic to cover them all... your idea of an installation-kickoff program seems the best bet, but it'd only take one rogue field engineer to screw things up.
Posted by:
VikingLoki
19 years ago
No, no SMS. CA Unicenter. Known packaged apps aren't a problem, they're well controlled. By rollout time, 85-90% of application installs will be packaged & distributed. It's the last 10-15%, comprised of many oddball apps with a small userbase, that I'm trying to get a better handle on since I doubt the packaging resources can keep pace with all the little apps. They'll have to be manual installs until they're replaced with a package later.
If I have a product / update code, it's really easy to detect their presence, remove and replace.
If I have a product / update code, it's really easy to detect their presence, remove and replace.
Posted by:
VikingLoki
19 years ago
Posted by:
bkelly
19 years ago
Posted by:
plangton
19 years ago
Posted by:
MSIMaker
19 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.