Supprimer automatiquement son exécutable en quittant

Description

J'avais besoin d'un outil comme cela et maintenant c'est fait.

Je sais pas si ça va vous être utile, mais il est intéressant de savoir qu'en utilisant un programme DOS en .bat il est possible de supprimer son propre programme ainsi que de faire s'auto-supprimer le batch lui-même.

Ceci peut être intéressant dans le cas d'un désinstalleur VB par exemple...

Source / Exemple :


Option Explicit

Private Sub Command1_Click()
    Uninstall
End Sub

Private Sub Uninstall()

    Dim fic As Integer
    Dim str_bat As String
    fic = FreeFile    'attribution automatique d'un numéro pour input

    'contenu du fichier bat de désinstallation
    str_bat = "@echo off" & vbCrLf & _
            "del " & App.EXEName & ".exe" & vbCrLf & _
            "del %0"
    
    'le fichier uninst.bat ressemblera à ceci
    '@echo off          'désactive l'affichage des messages
    'del monprogvb.exe  'supprime le programme VB
    'del %0             'auto-suppression du fichier bat
    
    
    'test si le fichier de désinstallation existe déjà
    If Dir("uninst.bat") <> "" Then
        Kill "uninst.bat"
    End If
    
    'création du fichier uninst.bat
    Open "uninst.bat" For Output As #fic
    'écriture du contenu du fichier bat
    Print #fic, str_bat
    'fermeture du fichier
    Close #fic
    
    'lancement du bat
    Shell ("uninst.bat"), vbHide

    'on quitte
    End
    
End Sub

Conclusion :


Un exemple est dans le zip.

Pour ceux qui ont le click facile, j'ai mis une copie de l'exe ;-)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.