IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

Autosuppression de programme


Sujet :

Dotnet

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut Autosuppression de programme
    Bonjour à tous,

    Oui je sais mon titre est un peu bizarre mais voici ce que je cherche.

    J'ai fait un programme d'installation maison et un programme de désinstallation pour mon application.

    J'aimerais savoir comment, à partir de mon programme de désinstallation, supprimer le répertoire de l'application sachant que le prog de désinstallation est dedans.

    La plupart des prog de desintallation sont dans le répertoire de l'application et quand on désinstalle, ça supprimer tout.

    Merci pour votre aide

  2. #2
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    Si tu parle d'un application DotNet il y'a un seul Projet de installation/désinstallation

    http://plasserre.developpez.com/vd1-2.htm

    et tu peut même personnalisé l'installation

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    il y'a un seul Projet de installation/désinstallation
    Y'en a d'autres ... (mais payant )

    J'avais commencé par utiliser ce type de projet mais certains problèmes m'ont fait me tourner vers une solution maison.

    Je voulais juste savoir si quelqu'un avait une idée pour laisser un répertoire propre. Mes idées sont soit de copier à l'install le programme de désinstallation dans windows\temp avec le risque qu'il soit supprimé, soit de copier dans ce même répertoire un fichier batch qui supprimera le répertoire une fois le programme de désinstallation quitté.

    Si vous avez de meilleures idées, d'avance merci

  4. #4
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    si tu peut personnaliser le programme de désinstallation à la fin de désinstallation tu peut lancer un process qui va faire tous ce que tu veux via des commandes DOS
    exemple :


  5. #5
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    A la fin du programme de désinstallation, on pourra créer un programme batch et le lancer (Contrairement à un pgm .net, un batch peut s'autodétruire).

    Nom du programme .net : C:\myDir\Myprog.exe
    Nom du batch : C:\myDir\MyBatch.bat
    Contenu du batch :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    timeout 10
    DEL C:\myDir\Myprog.exe
    DEL C:\myDir\MyBatch.bat
    RD C:\mydir /S /Q
    Le timeout permet d'attendre la fermeture complète du programme .net

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    Merci graffito je vais tester

  7. #7
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    C'est bon ça marche, je ne me souvenais plus qu'un batch pouvait s'autodétruire.

    Merci bien

    Edit : Bon je reviens sur ce que j'ai dis, ça ne marche pas.

    Le batch fonctionne bien quand je le lance moi même, mais pas quand je le lance à la sortie de mon programme.

    Voici comment je lance mon batch :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    private void Application_Exit(object sender, ExitEventArgs e)
            {
             var test = Directory.GetParent(Directory.GetCurrentDirectory());
             var i = new ProcessStartInfo(test + @"\uninstall.bat");
             i.CreateNoWindow = false;
             i.UseShellExecute = true;
             var p = Process.Start(i);
            }
    Pour y voir plus clair :
    le dossier de mon programme contient plus que le batch et le dossier bin contenant le programme de désinstallation et toutes les dll de l'application.
    J'aimerais que le batch supprime le dossier bin, puis se supprime lui même laissant le répertoire de l'application vide (je ne veux pas le supprimer)

    J'ai testé en mettant un timeout à 1000 pour avoir le temps de regarder si le processus de mon programme de désinstallation est bien terminé, et c'est le cas. J'ai aussi testé de supprimer tous les fichiers du répertoire bin à la main et ça marche. Par contre quand je veux supprimer le dossier bin qui est vide j'ai un message comme quoi le fichier est utilisé par un autre processus.

    J'ai l'impression que vu que c'est le programme de désinstallation qui crée le processus qui va lancer le batch et que ce programme est dans bin, ça doit bloquer quelque part. Si je ferme la fenêtre cmd je peux alors supprimer le dossier bin sans problèmes.

    Merci pour votre aide

    ReEdit J'ai vu avec process explorer que le répertoire bin était utilisé par le processus cmd.exe donc je vais mettre le fichier batch dans le répertoire temporaire de windows et tester si ça marche

  8. #8
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Par défaut
    Bon finalement j'ai trouvé, il faut modifier le WorkingDirectory du process et ça fonctionne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/10/2009, 18h24
  2. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  3. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  4. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo