un (petit) problème avec deluninstall

Le
JoelNoyeux
bonjour

J'ai une inquiétude avec deluninstall (mise à jour du 11/03/2008) que j'ai
exécuté sur un "vieux" PC
J'ai placé dans un répertoire jcb.ocx et deluninstall.vbs
En cliquant sur deluninstall.vbs j'ai obtenu une fenêtre IE dans laquelle
j'ai cliqué sur tout (dé)selectionner puis supprimer : content.

Puis le lendemain, j'ai regardé le répertoire c:windows : tous les dossiers
$Nt étaient présents !? pas content
J'ai donc recommencé la manip avec deluninstall.vbs et j'obtiens une fenêtre
vide (juste les boutons) pas content du tout
Que peut-il bien se passer ?
merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Th.A.C
Le #20796551
JoelNoyeux a écrit :
bonjour

J'ai une inquiétude avec deluninstall (mise à jour du 11/03/2008) que j'ai
exécuté sur un "vieux" PC
J'ai placé dans un répertoire jcb.ocx et deluninstall.vbs
En cliquant sur deluninstall.vbs j'ai obtenu une fenêtre IE dans laquelle
j'ai cliqué sur tout (dé)selectionner puis supprimer : content.

Puis le lendemain, j'ai regardé le répertoire c:windows : tous les dossiers
$Nt... étaient présents !? pas content
J'ai donc recommencé la manip avec deluninstall.vbs et j'obtiens une fenêtre
vide (juste les boutons) pas content du tout
Que peut-il bien se passer ?
merci d'avance






Il me semble que le script se base sur la liste de désinstallation
contenue dans la base de registre (panneau de config - ajout/suppression
de programme).

Si les $NT* ne sont pas dans cette liste, il ne les efface pas.

Je n'ai pas vérifié, mais il se pourrait que passer le SP3 (par exemple)
enlève les patchs du sp1/SP2 de cette liste.

Pour vérifier, regarde si la date des dossiers non effacés est
antérieure à celle de l'installation du sp3.

Je pense qu'on a le même problème quand on upgrade Internet explorer
vers la version suivante, sauf que la ca reste aussi dans
%systemroot%$hf_mig$.
JoelNoyeux
Le #20800531
Th.A.C wrote:
JoelNoyeux a écrit :
bonjour

J'ai une inquiétude avec deluninstall (mise à jour du 11/03/2008)
que j'ai exécuté sur un "vieux" PC
J'ai placé dans un répertoire jcb.ocx et deluninstall.vbs
En cliquant sur deluninstall.vbs j'ai obtenu une fenêtre IE dans
laquelle j'ai cliqué sur tout (dé)selectionner puis supprimer :
content. Puis le lendemain, j'ai regardé le répertoire c:windows : tous
les
dossiers $Nt... étaient présents !? pas content
J'ai donc recommencé la manip avec deluninstall.vbs et j'obtiens une
fenêtre vide (juste les boutons) pas content du tout
Que peut-il bien se passer ?
merci d'avance






Il me semble que le script se base sur la liste de désinstallation
contenue dans la base de registre (panneau de config -
ajout/suppression de programme).

Si les $NT* ne sont pas dans cette liste, il ne les efface pas.

Je n'ai pas vérifié, mais il se pourrait que passer le SP3 (par
exemple) enlève les patchs du sp1/SP2 de cette liste.

Pour vérifier, regarde si la date des dossiers non effacés est
antérieure à celle de l'installation du sp3.

Je pense qu'on a le même problème quand on upgrade Internet explorer
vers la version suivante, sauf que la ca reste aussi dans
%systemroot%$hf_mig$.



Bien, merci pour l'explication ; je pense donc que l'on peut supprimer ces
répertoires anciens (antérieurs au 13/08/2008, le répertoire
ServicePackFiles daté du 28/09/2008, cela pourrait correspondre)
Jean-Claude BELLAMY
Le #20800721
"JoelNoyeux" discussion :
bonjour

J'ai une inquiétude avec deluninstall (mise à jour du 11/03/2008) que j'ai
exécuté sur un "vieux" PC
J'ai placé dans un répertoire jcb.ocx et deluninstall.vbs
En cliquant sur deluninstall.vbs j'ai obtenu une fenêtre IE dans laquelle
j'ai cliqué sur tout (dé)selectionner puis supprimer : content.

Puis le lendemain, j'ai regardé le répertoire c:windows : tous les
dossiers $Nt... étaient présents !? pas content
J'ai donc recommencé la manip avec deluninstall.vbs et j'obtiens une
fenêtre vide (juste les boutons) pas content du tout
Que peut-il bien se passer ?




Mon script énumère successivement tous les sous-dossiers du dossier
%systemroot%.
Il retient uniquement ceux dont le nom commence par un "$".

NB.: j'aurais pu chercher sur la présence de "$Nt" ou "$NtUninstall" au lieu
de "$", mais je me suis rendu compte que Microsoft utilisait parfois
d'autres noms pour ses dossiers de correctifs, p.ex. pour les services
packs. C'est pour cela que j'ai du me limiter au caractère "$"

Mais bien sûr mon script ne se base pas uniquement sur ce critère.
En effet un dossier peut très bien commencer par "$.." et n'avoir aucun
rapport avec un correctif ni SP.
Exemple concret : le dossier "$hf_mig$" !!!!


Il me fallait donc absolument éviter des suppressions ... "malheureuses"!
;-)


C'est pourquoi, ensuite, pour chaque nom de sous-dossier retenu, le script
énumère toutes les sous-clefs de
HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall
jusqu'à en trouver une dont la chaine stockée dans l'entrée
"UninstallString" contienne le nom du sous-dossier.
Dans ce cas, il n'y a aucune ambiguïté, et le script déclare que le dossier
et l'entrée BDR sont supprimables et construit le formulaire HTML en
conséquence.


DONC :
Si aucune entrée "UninstallString" de la BDR ne contient le nom du
sous-dossier "$....", le sous-dossier ne sera pas supprimé.

C'est plus restrictif que de tout flinguer, mais c'est beaucoup plus
"propre" et plus sûr.
Voila pourquoi mon script peut laisser VOLONTAIREMENT des dossiers "$NT...."

Libre à toi ensuite de faire le ménage "à la mimine" ;-)



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
JoelNoyeux
Le #20802721
Jean-Claude BELLAMY wrote:
"JoelNoyeux" de discussion :
bonjour

J'ai une inquiétude avec deluninstall (mise à jour du 11/03/2008)
que j'ai exécuté sur un "vieux" PC
J'ai placé dans un répertoire jcb.ocx et deluninstall.vbs
En cliquant sur deluninstall.vbs j'ai obtenu une fenêtre IE dans
laquelle j'ai cliqué sur tout (dé)selectionner puis supprimer :
content. Puis le lendemain, j'ai regardé le répertoire c:windows : tous
les
dossiers $Nt... étaient présents !? pas content
J'ai donc recommencé la manip avec deluninstall.vbs et j'obtiens une
fenêtre vide (juste les boutons) pas content du tout
Que peut-il bien se passer ?




Mon script énumère successivement tous les sous-dossiers du dossier
%systemroot%.
Il retient uniquement ceux dont le nom commence par un "$".

NB.: j'aurais pu chercher sur la présence de "$Nt" ou "$NtUninstall"
au lieu de "$", mais je me suis rendu compte que Microsoft utilisait
parfois d'autres noms pour ses dossiers de correctifs, p.ex. pour les
services packs. C'est pour cela que j'ai du me limiter au caractère
"$"
Mais bien sûr mon script ne se base pas uniquement sur ce critère.
En effet un dossier peut très bien commencer par "$.." et n'avoir
aucun rapport avec un correctif ni SP.
Exemple concret : le dossier "$hf_mig$" !!!!


Il me fallait donc absolument éviter des suppressions ...
"malheureuses"! ;-)


C'est pourquoi, ensuite, pour chaque nom de sous-dossier retenu, le
script énumère toutes les sous-clefs de
HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall
jusqu'à en trouver une dont la chaine stockée dans l'entrée
"UninstallString" contienne le nom du sous-dossier.
Dans ce cas, il n'y a aucune ambiguïté, et le script déclare que le
dossier et l'entrée BDR sont supprimables et construit le formulaire
HTML en conséquence.


DONC :
Si aucune entrée "UninstallString" de la BDR ne contient le nom du
sous-dossier "$....", le sous-dossier ne sera pas supprimé.

C'est plus restrictif que de tout flinguer, mais c'est beaucoup plus
"propre" et plus sûr.
Voila pourquoi mon script peut laisser VOLONTAIREMENT des dossiers
"$NT...."
Libre à toi ensuite de faire le ménage "à la mimine" ;-)



Merci à tous
J'ai vériifié pour une ou deux entrees dans la BDR et inversement dans
WINDOWS et je n'ai pas trouvé de paire ; en réalité, le nettoyage n'avais
jamais été fait depuis 2004 et il restait (après le premier nettoyage de 90
entrées avec DELUNINSTALL) 150 répertoire en $.. j'ai donc fait le nettoyage
dans c:WINDOWS sn conservant les entrées gans la BDR (je verrais peut être
plus tard)
Publicité
Poster une réponse
Anonyme