Ich möchte eine MSI-Datei lesen. Ich benutze die Bibliothek Win32 :: MSI :: HighLevel, aber diese sendet mich undef die ganze Zeit.MSI-Datei in Perl lesen
Mein Code:
use strict;
use warnings FATAL => 'all';
use Win32::MSI::DB qw(Win32::MSI::DB::MSIDBOPEN_READONLY);
use Win32::MSI::HighLevel;
use Data::Dumper;
my $msi = Win32::MSI::HighLevel->new (-file => "Firefox.msi", -mode => $Win32::MSI::DB::MSIDBOPEN_READONLY) or die "error $!";
my $productCode = $msi->getProductCode;
my $product = $msi->getProduct;
print Dumper $productCode;
Die $product
kehrt ': - '
und $productCode
ist undefiniert.
Ich habe die Informationen der msi-Datei in den Windows-Dateieigenschaften überprüft und überprüft, dass die Informationen darin sind. Ich habe den Code mit einer anderen MSI-Datei ausprobiert und ich habe das gleiche Problem.
Wenn Sie sich die Dateieigenschaften, zeigt es, dass Informationen in den Details? (Ich erinnere mich nicht, wie diese Tabs und Dinge heißen, und ich habe keinen Zugriff auf einen Windows-Rechner, aber ich denke, Sie sollten diese Informationen sehen können). Vielleicht fehlt es wirklich nur in der Datei. Probieren Sie eine andere Datei aus und prüfen Sie, ob derselbe Code funktioniert. – simbabque
Danke für Ihre Antwort. Ich habe versucht, die Informationen von MSI-Datei zu lesen, und die Informationen sind darin. Ich habe den Code mit einer anderen MSI-Datei ausprobiert und ich habe das gleiche Problem. – Oneill
Ich habe bearbeitet. Vielen Dank für Ihre Zeit. – Oneill