Bonjour,
Je commence tout juste à écrire des scripts en Perl pour automatiser des installations de logiciels.
Je vérifie les logiciels installés en listant les clées contenues dans:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Le code ne marche que pour les clés ayant un nom d'application "en clair".
Les logiciels identifiés par leur clsid ne sont pas listés. Quelqu'un aurait une idée de contourner le problème ? J'imagine que ce sont les signes {} qui ne passent pas ...
(exemple : GanttProject <=> {06DD33C9-F258-4681-9269-FF0283D7C4EA} )
Voici mon extrait de code:
Merci d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 # Open Registry keys: use Win32::TieRegistry ( Delimiter=>"/", ArrayValues=>1 ); $Registry->Delimiter("/"); # Set delimiter to "/". $swKey= $Registry->{"LMachine/Software/"}; $uninstallKey= $swKey->{"Microsoft/Windows/CurrentVersion/Uninstall/"}; # Scan Uninstall key foreach $subKey ( $uninstallKey->SubKeyNames ) { # Get value data: $valueString= $subKey->GetValue("DisplayName"); print "Found registry key $UninstallKey->SubKeyNames = $valueString \n";
Balises [ code ] et [ /code ] ajoutées par 2Eurocents.
Partager