Software Metering Suites And Their Individual Applications

One feature of Software Metering is having the ability to meter multiple applications as one “suite” of applications.  The method Microsoft suggests it to give multiple rules the same name.  E.g. for Office 2007:-

Software Metering Rule Name File Name Original File Name Version
Microsoft Office 2007 MSACCESS.EXE MSACCESS.EXE 12.*
Microsoft Office 2007 EXCEL.EXE EXCEL.EXE 12.*
Microsoft Office 2007 INFOPATH.EXE INFOPATH.EXE 12.*
Microsoft Office 2007 OUTLOOK.EXE OUTLOOK.EXE 12.*
Microsoft Office 2007 POWERPNT.EXE POWERPNT.EXE 12.*
Microsoft Office 2007 MSPUB.EXE MSPUB.EXE 12.*
Microsoft Office 2007 WINWORD.EXE WINWORD.EXE 12.*

So basically what this does is if you run one of the Software Metering reports that looks for a rule name, and you select “Microsoft Office 2007”, it will match instances where any of those files have been ran.  Now that may be fine if you wanted to meter suites.  But what if someone wants a report on one of those individual applications (e.g. Outlook)?

The workaround is to change the rule names like the example below shows:-

Software Metering Rule Name File Name Original File Name Version
Microsoft Office Access 2007 MSACCESS.EXE MSACCESS.EXE 12.*
Microsoft Office Excel 2007 EXCEL.EXE EXCEL.EXE 12.*
Microsoft Office InfoPath 2007 INFOPATH.EXE INFOPATH.EXE 12.*
Microsoft Office Outlook 2007 OUTLOOK.EXE OUTLOOK.EXE 12.*
Microsoft Office PowerPoint 2007 POWERPNT.EXE POWERPNT.EXE 12.*
Microsoft Office Publisher 2007 MSPUB.EXE MSPUB.EXE 12.*
Microsoft Office Word 2007 WINWORD.EXE WINWORD.EXE 12.*

Now on face value, you may think this has removed the ability to run a report for a “suite”.  However, if you make a slight change to your metering reports, in the criteria sections (i.e. WHERE xxx…), you will have the ability to monitor a “suite” again, by picking a wildcard for your suite.

e.g. change the WHERE clause in the "Computers that have run a specific metered software program" :-

Replace

where mf.ProductName = @RuleName

with

where mf.ProductName LIKE @RuleName

As you can see this would change the report to allow wildcards.  So in our example, if you wanted to find systems that have ran anything from the Microsoft Office 2007 “suite” you would use the following criteria :-

Microsoft Office%2007

Replacing “=” with “LIKE” in the WHERE clause, lets you use wildcards.  “%” is the most common SQL wildcard, which simply means match anything.

The simple reason this works is that the clients have no idea of rule names.  They simply know rules by their ID, and criteria (filename and version).  The rule name is simply a human readable tag for the rule to be used when running reports.

Published Friday, June 03, 2011 3:22 PM by Tom_Watson
Filed under: , ,

Comments

No Comments