Huntland Services Ltd

Tel: +44 (0)1392-490518
Fax: +44 (0)1392-428003
Enquiries@huntland.co.uk

Reverse Engineer Shortcuts in an MSI Package

 

Back msiShortCutSpy.VBS


This script will display on screen or dump to a comma delimited file, a list of shortcuts that might be installed from an msi package.  The information includes name, full path to the shortcut location, whether the shortcut is an advertisement( not all are) and the full path to the file that will be executed when the shortcut is activated.

 The information comes principally from the MSI Database Shortcut table.

The shortcut will execute the file depicted in the Target field of the Shortcut table.  However this field is a foreign key to the Features table, where if there is a match and the Feature table Attributes field indicates this is an advertisement (32), the target file is the keyPath file of the Component associated with this Short cut.  If the Shortcut is not advertised then the target might be a file, a folder, or a property value that resolves to either of those, but in all cases is described in the Target field of the Shortcut table.  It's exactly this complexity that the script solves in a single report.

In order to resolve the file paths, the MSI database Directory table has to be unraveled as per msiFileSpy.vbs.  There are some limitations on how that works which are described in the documentation for that script.

The script generally executes quite quickly for large msi files and should not impose too much of an overhead.  For example there are only 34 possible shortcuts  in the standard XP Office msi.

Please accept this script as is.  Feedback will be gratefully accepted at debug@huntland.co.uk