Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11502[/thread]

2 Fragen (Perl2exe,Software abfrage)



<< >> 7 Einträge, 1 Seite
aspnstyle
 2008-03-21 19:08
#107343 #107343
User since
2008-03-18
23 Artikel
BenutzerIn
[default_avatar]
1) Das Tool Perl2Exe ist ja bekannt. Ich lese aber auf vielen Seiten das man dafür trotzdem einen perl Intepreter braucht -> sprich das bringt dann ja nicht. Oder ist dem nicht so? Wenn nicht ist das script dann schneller,gleich,längsämmer. Da Compiler sprachen wie c,delphi... natürlich immer schnelles sind da nur einmal der ganze Code übersetzt wir und daraus eine exe created wird im gegesatz zu Intepreter (perl,php...) da hier ja zeile für zeile übersetzt wird. Wie schaut es dann aus wenn man Module integriert hat???


2) Ich möchte gerne ein Tool schreiben das mir ausliest welche Software auf welchem Rechner liegt. Sprich er soll mir das selbe anzeigen wie unter (Start/Systemsteuerung/Software). Ich weis das die Pros unter euch nicht mit Windoof arbeiten aber vl wisst ihr ja trotzdem eine lösung. ich muss auch noch einmal im Win32 modul nachschauen vl. ist dort sowas auch möglich. Das einzigste was ich bis jetzt gefunden habe ist eine Kartei unter der Regedit aber dort wird man sich hart tun das ganze auszulesen. bzw was mich noch interessieren würde gibt es eine möglichkeit den Prozessor,Arbeitsspeicher,IP,mac.... mittels Perl auszulesen oder ist das überhaupt nicht möglich?


ich habe leider noch nicht das gefühl was mit PERL alles möglich ist da durch die vielen Module es ja sehr erweitert werden kann.

Vielen Dank für eure bemühungen
renee
 2008-03-21 19:25
#107344 #107344
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
aspnstyle+2008-03-21 18:08:27--
1) Das Tool Perl2Exe ist ja bekannt. Ich lese aber auf vielen Seiten das man dafür trotzdem einen perl Intepreter braucht -> sprich das bringt dann ja nicht. Oder ist dem nicht so? Wenn nicht ist das script dann schneller,gleich,längsämmer. Da Compiler sprachen wie c,delphi... natürlich immer schnelles sind da nur einmal der ganze Code übersetzt wir und daraus eine exe created wird im gegesatz zu Intepreter (perl,php...) da hier ja zeile für zeile übersetzt wird. Wie schaut es dann aus wenn man Module integriert hat???


Webseite Indigostar
This allows you to create stand alone programs in Perl that do not require the Perl interpreter. You can ship the executable files without having to ship your Perl source code.


aspnstyle+2008-03-21 18:08:27--
2) Ich möchte gerne ein Tool schreiben das mir ausliest welche Software auf welchem Rechner liegt. Sprich er soll mir das selbe anzeigen wie unter (Start/Systemsteuerung/Software). [...] Das einzigste was ich bis jetzt gefunden habe ist eine Kartei unter der Regedit aber dort wird man sich hart tun das ganze auszulesen.


Schau Dir mal CPAN:Win32::TieRegistry an...

Quote
bzw was mich noch interessieren würde gibt es eine möglichkeit den Prozessor,Arbeitsspeicher,IP,mac.... mittels Perl auszulesen oder ist das überhaupt nicht möglich?


Schau Dir mal CPAN:Win32::SystemInfo an...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2008-03-22 13:21
#107358 #107358
vielen dank rene

das mit der Systemauslese sprich CPU,OS,IP,DNS,.... hat wunderbar geklappt

jetzt bin ich gerade dabei die Regedit auszulesen da unter Local_Machine/Software/Microsoft/Windows/CurrentVersion/Uninstall

alle installierten programme vorhanden sind.

ich hab mir zuerst Win32::Registry angeschaut da dies für mich als Anfänger als erstes übersichtlicher ist auch wenn es nicht so viel kann wie TieRegistry.
Es hat auch wundervoll funktioniert.
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
    use Win32::Registry;
    my $tips;
    $::HKEY_LOCAL_MACHINE->Open("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{1545207E-C6F3-31D7-9918-BDBB65075FBF}", $tips)
        or die "Can't open tips: $^E";
    my ($type, $value);
    $tips->QueryValueEx("DisplayName", $type, $value) or die "$^E";
    print "Programm:  $value\n";
    $tips->QueryValueEx("DisplayVersion", $type, $value) or die "$^E";
    print "Version:  $value\n";
    $tips->QueryValueEx("InstallDate", $type, $value) or die " $^E";
    print "Installations Datum:  $value\n";
    $tips->QueryValueEx("Publisher", $type, $value) or die "$^E";
    print "Hersteller:  $value\n";


Einzigstes Problem was ich habe ist dass ich den ganzen Uninstall Ordner auslesen müsste da dort die ganzen Unterordner wie z.b {1545207E-C6F3-31D7-9918-BDBB65075FBF} vorhanden sind und darin befindet sich zu dem jeweiligen programm die information.

Wie gesagt jetzt müsste ich jeweis den Ordner Uninstall auslesen und dann eine Schleife basteln.... aber jetzt stehe ich an funktioniert dies gleich wie wenn man einen Ordner auf der Festplatte ausliest oder funktioniert das in der Registry überhaupt???

Vielen lieben dank
renee
 2008-03-22 13:54
#107359 #107359
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Mit CPAN:Win32::TieRegistry und Adminrechten geht folgendes:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl

use strict;
use warnings;
use Win32::TieRegistry;

use constant KEY => 'SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall';

my $registry = $Registry->{'LMachine\\'};

for my $key ( split /\\/, KEY ){
    $registry = $registry->{ $key . '\\' };
}

for my $key ( keys %$registry ){
    next unless index( $key, '{' ) == 0;
    my $tmp = $registry->{$key};

    next unless $tmp->{DisplayName};
        
    print sprintf "Programm:\t%s\nVersion:\t%s\nDatum:\t%s\nHersteller:\t%s\n", @{ $tmp }{ qw/DisplayName DisplayVersion InstallDate Publisher/ };
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2008-03-22 15:05
#107361 #107361
...Mit Win32::TieRegistry und Adminrechten geht folgendes...

Ok vielen dank so klappt es nur ich habe ein kleines problem wenn man Adminrechte braucht. weis du das fix? wenn dem so wäre gibt es noch eine andere lösung?
Gast Gast
 2008-03-22 16:44
#107363 #107363
habs gerade auf einem Rechner ausprobiert mit eingeschränkten Rechten. dort führt er es leider nicht aus... das ist jetzt natürlich sehr schlecht weis jemand eine andere lösung?
Gast Gast
 2008-03-22 16:59
#107365 #107365
oh ich war garnicht eingelogt >_<

hab das selber gerade mit Win32::Registry auf einem eingeschränkten PC ausprobiert da funktioniert es... nun muss ich es nur noch schaffen das er mit die ganzen Ordner von der Registry "Uninstall" ausliest.... :D
<< >> 7 Einträge, 1 Seite



View all threads created 2008-03-21 19:08.