Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
779 connectés 

  FORUM HardWare.fr
  Windows & Software
  Win NT/2K/XP

  Lancer une désinstalle à partir de la ligne de commande ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lancer une désinstalle à partir de la ligne de commande ?

n°1106470
-ET-
Eternel newbie
Posté le 26-03-2003 à 01:02:04  profilanswer
 

Voilà, j'ai une appli que je fais installer via Inno Setup, et dans la foulée il installe aussi un runtime Paradox 10.
 
Mais, à la désinstallation sous Windows de l'appli il faut que le runtime soit désinstallé en 1er (avant l'appli). Inno sait lancer des commandes avant la désinstallation de l'appli mais du coup je cherche comment lancer la désinstallation d'un soft sous Windows par une ligne de commande ?
 
En gros c'est faire "Panneau de configuration", "Ajout/Suppression de programme" et supprimer tel soft, mais au lieu de tout faire en manuel par des clics je cherche une syntaxe en ligne de commande pour lancer la désinstall par le prog ? :sarcastic:  
 
Des idées ?
 
P.S. : Evidement le runtime n'a pas de .exe dédié à la désinstall sinon ça serait trop simple :P

mood
Publicité
Posté le 26-03-2003 à 01:02:04  profilanswer
 

n°1106477
Nico57
Posté le 26-03-2003 à 01:48:22  profilanswer
 

Tu prends ton regedit préféré, tu vas dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, tu trouves la clé correspondant à ton soft et tu récupères la ligne de commande associée.

n°1106603
-ET-
Eternel newbie
Posté le 26-03-2003 à 10:07:28  profilanswer
 

Bien joué, merci ! :jap:  
 
Cependant il manque un détail pour que ce soit parfait...
J'ai trouvé la clé correspondante et je suppose que la ligne de commande que je cherche est celle de la variable "UninstallString".
Cette ligne est du type "MsiExec.exe /I{14A...081}" et donc commence par lancer le Windows Installer 2 (je suis sous XP Pro SP-1), puis arrive sur sur un écran "Wise Installation Wizard" de l'installeur du Runtime qui demande confirmation pour modifier, réparer ou supprimer l'install.
Or il doit exister un paramètre à placer dans la ligne de commande pour ne pas passer par cet écran et commencer immédiatement la désinstallation du logiciel puisque quand on clique sur le bouton "Supprimer" de l'écran "Ajout/Suppression de programme" on y va directement.
 
Tu sais comment faire lancer la désinstalle directement ? :sarcastic:  
 
Merci d'avance :jap:  
 
P.S. : Ensuite il me restera à voir s'il y a des différences de 95 à XP parce qu'il faudra bien que je puisse toujours récupérer cette ligne de commande quelque soit l'OS de manière automatisés :wahoo:

n°1106606
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-03-2003 à 10:10:05  profilanswer
 

http://forum.hardware.fr/forum2.php3?post=34176&cat=10
 
:mad: ça vallait le coup que je répondre
 
bon bhen je boude [:mmmfff]  
 
les topics multiples c'est mal :p


Message édité par antp le 26-03-2003 à 10:10:31

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1106613
-ET-
Eternel newbie
Posté le 26-03-2003 à 10:13:37  profilanswer
 

Arf... j'étais pile poil en train de te répondre pour te remercier côté prog quand t'as fermé le topic avant que je valide mon post :(  
 
Dsl pour le double topic, mais je savais pas bien où poser au mieux ma question  :jap:  
En tout cas faut pas bouder pour ça... :sarcastic:  
 
Quelqu'un a une idée pour le paramétre ? :)


Message édité par -ET- le 26-03-2003 à 10:19:10
n°1106631
-ET-
Eternel newbie
Posté le 26-03-2003 à 10:27:30  profilanswer
 

Apparement pour forcer le choix de la désinstalle il faut remplacer /I par /x. Dans ce cas il reste une demande de confirmation oui/non sans mention du nom du logiciel à désinstaller :??:  
http://msdn.microsoft.com/library/ [...] ptions.asp
 
Par contre, comment ça va se passer sur les autres Windows car si XP a Windows Installer 2.0, Me et 2000 ont des versions 1.x et tous les autres Windows n'ont pas Windows Installer ? :sarcastic:
On trouvera une chaine différente mais au même endroit dans la base de registre ?


Message édité par -ET- le 26-03-2003 à 11:16:07
n°1106641
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-03-2003 à 10:39:39  profilanswer
 

Ceux qui n'ont pas Windows Installer n'auront pas su installer le logiciel à priori... :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1106653
-ET-
Eternel newbie
Posté le 26-03-2003 à 10:46:17  profilanswer
 

Hein ? :D  
 
Sur Windows 95/98 et NT il y a pas Windows Installer et pourtant ce runtime s'installe sur ces OS. Il doit y avoir un autre système... :sarcastic:  
 
"What versions of Windows include Windows Installer?  
Microsoft Windows 2000, Windows Millennium Edition (Windows Me), and Windows XP include Windows Installer. Windows 2000 includes version 1.1 of Windows Installer, Windows Me includes version 1.2, and Windows XP includes version 2.0. Windows 2000 SP3 also contains version 2.0 of Windows Installer."
http://www.microsoft.com/windows20 [...] si_faq.asp
 
Faudrait que je fasse des tests mais si je pose la question ici c'est que j'ai aucun de ces 3 OS sous la main :(
 
P.S. : En tout cas il y a un 1er truc de sûr c'est que les clés ne sont pas modifiées à chaque install sur un même PC. Reste à voir si elle sont modifiées par une install sur un autre Pc avec le même OS, et/ou sur un autre PC avec un Os différent :sarcastic:


Message édité par -ET- le 26-03-2003 à 11:18:28
n°1106696
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-03-2003 à 11:18:16  profilanswer
 

Ouais enfin il y a moyen d'installer MSInstaller sur les vieux systèmes ;)


Message édité par antp le 26-03-2003 à 11:18:30

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1106702
-ET-
Eternel newbie
Posté le 26-03-2003 à 11:24:04  profilanswer
 

antp a écrit :

Ouais enfin il y a moyen d'installer MSInstaller sur les vieux systèmes ;)


Arg... y veut ma mort :D  
Déjà que je me fais chier avec l'install/désinstall de 2 softs par le même installeur, s'il faut qu'il gère l'install d'un 3ème qui devra prendre en compte l'install des 2 autres :cry:  
 
Nan, il doit juste y avoir des commandes différentes, faut les trouver ;)
C'est aussi pour ça qu'il faut que je vérifie si les clés changent et/ou sont toujours au même endroit dans la base de registre.
Si elles ne changent pas je retrouverai la bonne chaine dans tous les cas :sarcastic:  
 
Vait faire tout de suite un 1er test avec 2000. Il a Windows Installer mais je saurai si sur un PC et un OS différent la clé change :)

mood
Publicité
Posté le 26-03-2003 à 11:24:04  profilanswer
 

n°1106749
-ET-
Eternel newbie
Posté le 26-03-2003 à 12:05:53  profilanswer
 

Bonne nouvelle ! :)  
 
Sur un autre PC sur Windows 2000 la clé reste la même (et la ligne de commande aussi mais c'est normal Windows 2000 a Windows Installer).
 
Maintenant faudrait faire un essai sur 95/98 (NT 4 c'est pas bien grave) :sarcastic:

n°1107075
-ET-
Eternel newbie
Posté le 26-03-2003 à 15:37:38  profilanswer
 

Bon, pour l'instant ça marche bien sur XP et 2000 :)  
 
Je vais vérifier sur 95/98 mais j'ai aussi 2 détails à régler, alors si vous avez des idées...
 
1/ Pour les spécialistes de Windows Installer :hello:  
Dans la base de registre on peut retrouver la clé permettant de lancer la commande de désinstallation du runtime (merci Nico et antp ;) ).
Cette commande "MsiExec.exe /x{14A...081}" aboutit à la boite de dialogue de confirmation de suppression. C'est normal, mais contrairement à la même boite de dialogue de confirmation quand on passe par "Ajout/Suppression de programme" elle ne mentionne pas le nom du logiciel quelle va désinstaller (le runtime).  
Or cette boite de dialogue permet de laisser le choix de le désinstaller ou pas (en même temps que mon appli), mais à condition de l'annoncer.
 
Quelqu'un sait-il comment compléter cette ligne de commande pour que la boîte annonce le nom du programme qui va être désinstallé ?
 
2/ Pour les spécialistes d'Inno Setup ! :hello:  
Inno Setup réalise donc la désinstallation de mon appli mais au début il doit commencer par lancer la désinstallation du runtime.
Or, il n'y arrive pas. J'ai le message d'erreur suivant : "Impossible d'ouvrir ce package d'installation. Vérifiez qu'il existe et que vous êtes autorisé à y accéder, ou vérifiez auprès de votre revendeur d'applicaztions que ce package de Windows Installer est valide"
Du coup j'ai créé un .bat que lance Inno et qui lui lance la désinstall du runtime ; et là ça marche. C'est pas propre mais ça marche.
 
Quelqu'un sait pourquoi Inno n'arrive pas à lancer lui la désinstall du runtime ?
 
Merci d'avance :jap:


Message édité par -ET- le 26-03-2003 à 15:56:55
n°1107082
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-03-2003 à 15:41:13  profilanswer
 

-ET- a écrit :


Quelqu'un sait pourquoi Inno n'arrive pas à lancer lui la désinstall du runtime ?


 
Tu as mis quoi dans le script d'innosetup pour lancer ça ?

n°1107092
-ET-
Eternel newbie
Posté le 26-03-2003 à 15:48:03  profilanswer
 

Dans...
[UninstallRun]
Filename: "MsiExec.exe"; Parameters: "/x{{14A...081}}"
 
Le double { est normal, sinon Inno prend la clé pour une variable.
 
Alors que ça marche avec...
Filename: "{app}\batch\UninstRT.bat"; Flags: runminimized
 
qui lance le batch UninstRT.bat dans lequel il y a : MsiExec.exe /x{14A...081}
 
La même chose ! :??:


Message édité par -ET- le 26-03-2003 à 15:57:11
n°1107103
-ET-
Eternel newbie
Posté le 26-03-2003 à 15:58:28  profilanswer
 

Le msg est "Impossible d'ouvrir ce package d'installation. Vérifiez qu'il existe et que vous êtes autorisé à y accéder, ou vérifiez auprès de votre revendeur d'applicaztions que ce package de Windows Installer est valide"
 
Mais au même moment (pendant que ce msg d'erreur reste affiché) si je lance la commande en manuel ou par le batch ça passe.
Et en automatique, si je paramètre la ligne du batch tout passe sans pb aussi :(


Message édité par -ET- le 26-03-2003 à 15:59:23
n°1107347
-ET-
Eternel newbie
Posté le 26-03-2003 à 18:21:54  profilanswer
 

Bon, j'ai trouvé l'explication pour le point 1 mais le résultat n'est pas terrible à cause de la mauvaise réalisation de l'installeur du runtime Paradox :sarcastic:  
 
En fait, la boîte de dialogue de confirmation d'Ajout/Supression de programme est propre à cet utilitaire (et ne provient pas du Windows Installer).
Ensuite, une fois confirmé le Windows Installer se lance sans nouvelle demande de confirmation.
 
En revanche, si on veut passer par un écran de confirmation après le lancement du Windows Installer il faut utiliser la commande "/qf".
Donc "MsiExec.exe /x{14A...081} /qf"
http://msdn.microsoft.com/library/ [...] ptions.asp
 
Malheureusement, comme les programmeurs de Corel ont choisi de ne pas utiliser cette possibilité par défaut (quand on désinstalle le runtime par "Ajout/Supression de programme" celà se fait sans nouvelle confirmation), ils n'ont pas pris la peine de personnaliser correctement cet écran de confirmation. Du coup, on arrive sur un écran pas très clair qui laisse à penser qu'on fait juste une mise à jour, puis sur un écran d'avancement qui laisse lui à penser qu'on installe au contraire le runtime (alors qu'on le désinstalle bien) :-(
 
Du coup à mon avis ça va être plus perturbateur qu'autre chose. Tant pis :(  
 
--------------
 
En revanche, le pt 2 reste en suspend :)  
Mais je pense que je vais ouvrir un topic spécifique Inno car dans la foulée j'aimerai savoir si ne on peut pas demander avant le lancement de la désinstallation du runtime un boîte de dialogue de confirmation depuis Inno (pour faire la même chose que ce que fait Ajout/Supression de programme) :sarcastic:  
 
--------------
 
Enfin, côté désinstallation en ligne de commande il me reste quand même à savoir ce qui se passe sous 95/98 puisqu'il n'y a pas de Windows Installer :sarcastic:  
 
Si quelqu'un a une idée sur ce tout dernier point, je suis preneur :jap:


Message édité par -ET- le 26-03-2003 à 18:24:54
n°1107605
-ET-
Eternel newbie
Posté le 26-03-2003 à 22:37:21  profilanswer
 

Là t'abuse antp :sarcastic:  
On ne parle plus de Windows mais d'un logiciel : Inno Setup sur 2 questions qui lui sont spécifiques !
 
A vouloir tout mélanger dans un seul topic on ne risque pas d'avoir des réponses.
Un mec qui connait Inno et qui voit un topic avec sujet et 10ers posts sur les lignes de commande Windows et Windows Installeur n'ouvrira même pas le topic, et même s'il l'ouvre en repartira rapidement.
Sans compter que la catégorie devient hors sujet !
 
J'avais peut être tord la 1ère fois mais là c'est nul comme modération :(  
Entre les insultes et les modérations de ce genre, il devait y avoir un an que j'étais pas revenu par ici mais je crois que je vais en repartir aussi vite que je suis venu. Le newsgroup Inno sera certainement nettement plus efficace.
 
Enfin... ça t'occupe...


Message édité par -ET- le 26-03-2003 à 22:47:33
n°1107619
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-03-2003 à 22:46:57  profilanswer
 

:heink: suffit que t'édites ton titre alors
puis dans le nouveau topic j'ai mis un lien vers celui-ci
 
bon je rouvre l'autre puisque ça semble te tenir tellement à coeur
http://forum.hardware.fr/forum2.ph [...] e=&config= :pfff:


Message édité par antp le 26-03-2003 à 22:49:18

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1108211
-ET-
Eternel newbie
Posté le 27-03-2003 à 16:22:23  profilanswer
 

Et voilà le résultat des courses pour ceux que ça aurait pu interresser...
 
L'emplacement de la ligne de commande permettant la désinstallation est toujours au même endroit sous tous les Windows :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Clé propre au logiciel\UninstallString\
 
Et la ligne de commande elle même ne varie pas non plus quelque soit la version de Windows.
Même dans le cas d'un OS n'ayant pas Windows Installer et d'un logiciel dont l'installation est gérée par cet utilitaire, l'installeur installe Windows Installer 1.10, ou au moins les outils de désinstallation.
 
Enfin, dans le cas d'une installation gérée par Windows Installer, les options de ligne de commande pour paramétrer la désinstallation sont présentées ici...
http://msdn.microsoft.com/library/ [...] ptions.asp
 
Grosso modo on a droit à "msiexec.exe /x<nom du fichier ou clé> [/q[n|b|r|f]]"
 
Voilà qui clôt les questions de ce topic concernant Windows et Windows Installer.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Win NT/2K/XP

  Lancer une désinstalle à partir de la ligne de commande ?

 

Sujets relatifs
Une vieille commandedéclaration d'impots en ligne ca bug ??? ou c moi ??
Comment tuer un service en commande dos avec tous les processus enfantdémarrer windows sur un poste sans DD à partir d'un réseau ???
2 modems ADSL sur la meme ligne?ligne compatible ADSL ??
Un bon logiciel de commande vocale ...Envoyer un msg hotmail à partir d'outlook express... C'est possible ?
Modem, ligne, filtre, PC, cable ??? C'est quoi qui merde ?base de données Access acessible à partir du web...
Plus de sujets relatifs à : Lancer une désinstalle à partir de la ligne de commande ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR