[R] Registre Uninstall

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

[R] Registre Uninstall

#1

Message par silvere »

Bonjour,
Voila, j'ai fait un logiciel et j'aimerais que l'utilisateur puisse le désinstaller en allant dans Demander > panneau de configuration > ajouter ou supprimer des programmes.
Je savais que sa se trouvé dans le registre, puis j'ai fait un petit recherche et j'ai vu qu'il fallait créé un clé dans : "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Nomduprogramme"
mais voila je sais pas comment me servir de regwrite et j'ai pas envie de faire de bêtise dans mon registre.
Merci d'avance
Modifié en dernier par silvere le dim. 06 mai 2012 19:35, modifié 1 fois.
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Registre Uninstall

#2

Message par mikell »

Pour un script compilé (attention c'est pour XP) :

Code : Tout sélectionner

RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Nomduprogramme")
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Nomduprogramme", "UninstallString", "REG_SZ", @ScriptFullPath & " delete")
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Nomduprogramme", "DisplayName", "REG_SZ", "Nomduprogramme")
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Nomduprogramme", "DisplayIcon", "REG_SZ", @ScriptFullPath)
Dans cet exemple, la clé lance ton programme avec le paramètre 'delete' : "Nomduprogramme.exe delete"
ça te permet d'intégrer à ton programme un test et une fonction d'autodestruction qui se déclenchera si le programme est lancé avec ce paramètre, par exemple
► Afficher le texte
Modifié en dernier par mikell le dim. 06 mai 2012 19:15, modifié 1 fois.
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [..] Registre Uninstall

#3

Message par silvere »

Merci, t'es énorme.
Mais tu dit que c'est juste pour xp ce qui veut dire que c'est différent pour vista a W7 ?
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Registre Uninstall

#4

Message par mikell »

Pas forcément, les clés de registre sont peut-être les mêmes
La fonction d'autodestruction peut ne pas fonctionner sous W7, mais une petite recherche sur le forum US avec le mot 'selfdelete' te permettra de la trouver facilement
Mais le test est facile :
Ce que j'ai mis dans le spoiler, tu le compiles et tu mets l'exe sur le bureau
Ensuite tu mets tes clés de registre en les adaptant au chemin et au nom de l'exe
Enfin tu vas dans "ajout-suppression de programmes" et tu supprimes le prog
Tu verras bien si ça marche ^^

Un détail, n'oublie pas lors du test de détruire aussi les clés de registre

Code : Tout sélectionner

If $CmdLine[1] = "delete" Then 
   RegDelete ... etc
   _SelfDelete()    
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [..] Registre Uninstall

#5

Message par silvere »

le problème c'est que je suis sous Ubuntu :lol:
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Registre Uninstall

#6

Message par mikell »

Connais pas... faut tester, mais je t'ai mis tous les éléments nécessaires :roll:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [..] Registre Uninstall

#7

Message par silvere »

Oui, oui, Merci j'ai trouvé encore mieux que ce que je chercher :
► Afficher le texte
Ce code supprime le dossier ou se trouve l’exécutable attention a ne pas le placé dans n'importe quel dossier !
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Registre Uninstall

#8

Message par Tlem »

Pour faire ce genre de manipulation, il existe des outils adaptés.

Pour ce faire, vous devez utiliser un installeur tel que "Inno Setup" ou encore "NSIS".

Si c'est pour du bricolage interne, ce que vous faites ira très bien. Mais si vous comptez diffuser un programme, je vous conseil une solution plus "propre". ^^
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [R] Registre Uninstall

#9

Message par silvere »

Tlem a écrit :Pour faire ce genre de manipulation, il existe des outils adaptés.

Pour ce faire, vous devez utiliser un installeur tel que "Inno Setup" ou encore "NSIS".

Si c'est pour du bricolage interne, ce que vous faites ira très bien. Mais si vous comptez diffuser un programme, je vous conseil une solution plus "propre". ^^
Oui, on me l'a déjà a dit mais je préfère pouvoir tout personnalisé :P.
Mais je vois voi pas en quoi se scripte est "sale" :lol:
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Registre Uninstall

#10

Message par Tlem »

Un installeur standard et généralement connu et rassure.
Un installeur est tout à fait personnalisable, tout en gardant un aspect "pro".
Un installeur est prévu pour faire ce genre de choses et permet que votre script ne soit pas dépendant de la partie installation.
Un installeur permet de faire des choses plus simplement (l'adjonction de fichiers sans toucher le code, le choix des OS supportés, les raccourcis bureau, etc ...).

bref, faites comme vous le sentez, mais regardez ce qui ce fait généralement pour ce type d'application. :mrgreen:

PS: Je n'ai pas dit que votre script est sale, j'ai simplement souligné que la méthode n'est pas très "propre". Il y à une nuance.
En faisant comme cela, votre script est dépendant de l'architecture de la plateforme. Si vous voulez faire les choses de manière plus complète, vous devez alors gérer vous même les incompatibilités d'OS, les versions, les chemins, les fichiers, etc ... directement dans le code, alors qu'avec un installeur (tel que Inno Setup par exemple) ce ne sont que des cases à cocher.

Mais bon, je vais arrêter là d'essayer de vous convaincre du bienfondé de mes propos, car en la circonstance, les gouts et les couleurs n'ont pas lieu d'être discutés. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre