$MSIObject = CreateObject Win32::OLE 'WindowsInstaller.Installer'; if (defined ($MSIObject)) { print "Object Available\n"; $dbReference = $MSIObject->OpenDatabase("C:\\temp\\AppsenseApplicationManager.msi", 1); # Create SQL query to obtain required data $query = "SELECT * FROM Feature WHERE Feature = " . "'Agent'"; # Create a database view based on the query $view = $dbReference->OpenView($query); # Execute the query $results = $view->Execute(); # fetch the first data set based on the query $record = $view->Fetch(); if ($record) { print "Field = " . $record->StringData(0) . "\n"; print "Field = " . $record->StringData(1) . "\n"; print "Field = " . $record->StringData(2) . "\n"; print "Field = " . $record->StringData(3) . "\n"; print "Field = " . $record->StringData(4) . "\n"; print "Field = " . $record->StringData(5) . "\n"; print "Field = " . $record->StringData(6) . "\n"; print "Field = " . $record->StringData(7) . "\n"; print "Field = " . $record->StringData(8) . "\n"; } else { print "Record is undefined!\n" } print $record->FieldCount(); $newRecord = $MSIObject->CreateRecord($record->FieldCount()); **** FAILS to assign this value **** $newRecord->IntegerData(1) = 0; $record->Modify(6, $newRecord);