[R] Registre Uninstall
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Registre Uninstall
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
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.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Registre Uninstall
Pour un script compilé (attention c'est pour XP) :
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
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)ç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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Registre Uninstall
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 ?
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.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Registre Uninstall
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
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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Registre Uninstall
le problème c'est que je suis sous Ubuntu 
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Registre Uninstall
Connais pas... faut tester, mais je t'ai mis tous les éléments nécessaires 
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Registre Uninstall
Oui, oui, Merci j'ai trouvé encore mieux que ce que je chercher :
Ce code supprime le dossier ou se trouve l’exécutable attention a ne pas le placé dans n'importe quel dossier !
► Afficher le texte
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
- Tlem
- Site Admin

- Messages : 11830
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Registre Uninstall
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". ^^
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é".
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é".
Re: [R] Registre Uninstall
Oui, on me l'a déjà a dit mais je préfère pouvoir tout personnalisé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". ^^
Mais je vois voi pas en quoi se scripte est "sale"
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
- Tlem
- Site Admin

- Messages : 11830
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Registre Uninstall
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.
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.
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.
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é".
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é".

