cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Extraction of Application actual installation path?

Hi everyone, would like to know how does one extract the application actual installation path from FlexNet Manager itself?  Currently we have SCCM 2012 data synchronize with FlexNet Manager on a daily basis and we know that SCCM keep tracks of the Application actual installation path.

Any one have done this previously?

(4) Replies
mfranz
By Level 17 Champion
Level 17 Champion

Hi,

Does this help?

USE FNMSInventory

SELECT *
FROM SoftwareOccurrence so
JOIN SoftwareDetails sd
	ON so.SoftwareDetailsID = sd.SoftwareDetailsID
JOIN SoftwareValue sv
	ON so.SoftwareOccurrenceID = sv.SoftwareOccurrenceID
JOIN SoftwareProperty sp
	ON sv.SoftwarePropertyID = sp.SoftwarePropertyID
WHERE sp.Property = 'InstallLocation'

Best regards,

Markward

Thanks for sharing the script. Tested it and it only return a limited number of machines in our environment. Suspect this is the case for our environment due to the limited deployment of Flexera Agents in our environment as we are predominantly using SCCM agents to collect the inventory data for now. Will get my team to further test the script and perhaps consider a mass deployment of Flexera agents in the environment assuming this help? Just to be clear, the script will return the "actual" application installation path (e.g. D:\apps\xyz...) instead of the standard application installation path right?

The script returns what is stored in the Inventory database. Which is, as you have noticed, only what the agent or remote inventory delivered.

The results are only what is collected from the WMI/Registry. Depending on the quality of the installer, it might be missing, existing or even accurate.

For more reliable path data, you might want to look for file evidences instead.

Here is an example of a SQL query that can be executed against the inventory database to return a list of computer names with files found on them as per data gathered by the FlexNet inventory agent:

 

SELECT c.ComputerCN, sfn.Name, sfp.Path
FROM dbo.SoftwareFile sf
	JOIN dbo.SoftwareFileName sfn ON sfn.SoftwareFileNameID = sf.SoftwareFileNameID
	JOIN dbo.SoftwareFilePath sfp ON sfp.SoftwareFilePathID = sf.SoftwareFilePathID
	JOIN dbo.Computer c ON c.ComputerID = sf.ComputerID

I'm sure a query similar to this one, and possibly a query similar to @mfranz' query that returns InstallLocation details recorded in the registry by application installers, could be written to be executed against the SCCM database too to cover computers inventoried by SCCM - but I would defer to somebody who knows the SCCM database schema/reporting interfaces better than I do to do that.

 

(Did my reply solve the question? Click "ACCEPT AS SOLUTION" to help others find answers faster. Liked something? Click "KUDO". Anything expressed here is my own view and not necessarily that of my employer, Flexera.)