Phalalis
Messages postés83Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention19 février 2012
-
6 févr. 2006 à 13:58
Phalalis
Messages postés83Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention19 février 2012
-
8 févr. 2006 à 13:18
Bonjour a tous,
Actuellement en stage, je bloque sur un probleme. Je suis censer developper un utilitaire de maj pour un programme vba. La maj devrait se faire en desinstallant le prog et en reinstaller la version superieur. Mais je ne trouve pas d'autre moyen que de passer par Ajout/Suppression de programme. Ce qui est plutot embatant car j'aurai besoin d'une automatisation.
Merci d'avance
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 6 févr. 2006 à 15:42
Je sais pas ce qu'est un utillitaire de maj...
Pour désinstaller, dans ajout et suppressin de programme, ce qui ce passe c'est que windows lit les clés de :
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\
Pour savoir quels sont les programmes insallés, et quan on demande l'installation, il execute le plus simplement la donnée de la valeur UninstallString de la clé :
Phalalis
Messages postés83Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention19 février 20121 6 févr. 2006 à 16:27
Merci rt15,
Un utilitaire de maj c'est comme windows update par exemple, cad ca verifie les numéro de version ou autre chose et fait les mise a jour si besoin.
par contre question. Comment grace a cet clé de registre peut on lancé l'uninstall ?
Phalalis
Messages postés83Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention19 février 20121 7 févr. 2006 à 14:10
Bon j'ai un autre souci.
Tout d'abord voici mon code :
Sub suppr()
Dim key As String
Dim objWshShell As Object
Dim keyname As String
key = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{98FE62B1-F0D4-40C3-8E08-12EA266A2572}\UninstallString"
Set objWshShell = CreateObject("Wscript.Shell")
keyname = objWshShell.RegRead(key)
objWshShell
Set objWshShell = Nothing
Shell (keyname)
End Sub
Lorsque je fait mon shell(keyname) il me lance bien la valeur compris dans l'uninstallstring, sauf que ca ne me donne pas le meme resultat. En effet ca me fait comme si je relancé le setup.exe d'ou un choix entre reparer supprimer etc. Or lorsqu'on passe par Ajout/Suppression de programme, il lance direct la desinstall. J'avoue ne pas comprendre.
Vous n’avez pas trouvé la réponse que vous recherchez ?