MSIObject = CreateObject Win32::OLE 'WindowsInstaller.Installer'; if (defined ($MSIObject)) { print "Object Available\n"; $dbReference = $MSIObject->OpenDatabase( "C:\\temp\\AppsenseApplicationManager.msi", 1 ); $query = "SELECT * FROM Feature WHERE Feature = " . "'Agent'"; $view = $dbReference->OpenView($query); $results = $view->Execute(); $record = $view->Fetch(); if( $record ) { for( my $loop = 0; $loop < $record->FieldCount(); $loop++ ) { print "Field = " . $loop . " = " . $record->StringData($loop) . "\n"; } } else { print "Record is undefined!\n" }