Link to home
Start Free TrialLog in
Avatar of janhoedt
janhoedt

asked on

Ps: read/correct info found in exe/msi

Hi,

Getting vendor, application and version information out of an exe like f.e. Firefox.exe is t straight forward. For some exe the info is there, others it is not or not complete or simply wrong.
Is there an automated (preferrably powershell) way (database) to map an exe (or msi) to correct vendor/application name and version, f.e. Mozilla Firefox 10.0.1 instead of Mozilla Org, FirefoxBrowser, Release 10.0,1?
Another example Microsoft Corp, MicrosoftSilverlight, 15 should be Microsoft, Silverlight, 15

Note: this blog shows the query of a software Tag (with their tool), maybe that's a solution?
http://www.oscc.be/sccm/configmgr/powershell/posh/Powershell-App-deployment-toolkit-GUI/

Goal is to get/read as much info on an application (exe/msi) as possible for automation of software handling (f.e. Import in sccm. fill in vendor, Name, version, but also description etc).

Thanks,
J
Avatar of Sam Jacobs
Sam Jacobs
Flag of United States of America image

Instead of going to the .exe/.msi, I would suggest using Boe Prox's excellent PowerShell script Get-Software to get a list of all installed programs from the registry. You can then get publisher, name, and version with:
Get-Software | Sort-Object Publisher | Select-Object Publisher, DisplayName, Version | ft -Auto

Open in new window

If you're only interested in retrieving the above, then the blog you reference is a bit overkill, IMO.
Avatar of janhoedt
janhoedt

ASKER

No,  I m not  trying to get info from installed software.  Like I said , it s to automate software handling, software that's not installed but should be installed using a script that takes the gathered info from exe/msi (what is vendor/appname etc).
ASKER CERTIFIED SOLUTION
Avatar of Shaun Vermaak
Shaun Vermaak
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks! Helps a lot but is only for msi, what about exes?
Getting vendor, application and version information out of an exe like f.e. Firefox.exe is t straight forward.
Like you said, it is straight forward but if it is wrong or missing, you cannot get it from the binary
Is there an automated (preferrably powershell) way (database) to map an exe (or msi) to correct vendor/application name and version, f.e. Mozilla Firefox 10.0.1 instead of Mozilla Org, FirefoxBrowser, Release 10.0,1?
Another example Microsoft Corp, MicrosoftSilverlight, 15 should be Microsoft, Silverlight, 15

As far as normalizing the meta data of EXE/MSI files, I think the only way to do that is to have a lookup table of either file names to standard product name, or metadata values to standard name.

I would imagine products like Secunia PSI (obsolete), PatchMyPC, SUMo, FileHippo Update Checker, etc, have all had to come up with something like this but I'm not aware of a publicly available shared database of it.

And the reality is that there are likely thousands of possible applications and products that could be on such a list, but the ones that are common in your environment are probably different that for other people / organizations.  So you may just have to start building your own cross reference of what the EXE/MSI name or metadata says and map it to the more generic product or vendor name you want to see.  Over time you just have to build it out...


»bp
What if I just try to install (automated) the exe, then see what it tries to write in add/remove programs but abort. I should be able to catch it some here?
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial