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

C# Discussion :

Supprimer apres execution


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Par défaut Supprimer apres execution
    bonjour a tous,

    voila je code en C# est j'aimerai savoir comment faire pour que mon application soit lancée une seule fois est apres elle se supprime;
    et si possible comment faire pour empecher de faire une copie de son application je veut empeche le copier coller

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    comment faire pour que mon application soit lancée une seule fois est apres elle se supprime
    Un programme ne peut pas se supprimer lui-même, vu que lorsqu'il s'exécute, le fichier est utilisé et ne peut donc pas être supprimé... par contre, tu peux faire une programm X qui lance le programme Y (celui que tu veux supprimer), attend qu'il se termine, et le supprime

    comment faire pour empecher de faire une copie de son application je veut empeche le copier coller
    C'est impossible, en tous cas pas en gérant ça dans le programme lui-même, vu que le programme ne s'exécute pas quand tu en fais une copie. Il y aurait peut-être moyen de faire ça en se "hookant" sur l'API Windows pour intercepter la demande de copie (comme le fait SuperCopier par exemple), mais ça doit pas être très simple...

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    en fait ce n'est pas simple du tout... et tu ne peux réellement hooker par l'api que temps que ton appli fonctionne...

    Il y aurait bien une solution pour l'effacement. Ton appli doit interagir avec les taches planifiées.
    Malheureusement ce n'est pas fiable, en effet, si la personne a désactivé les tâches planifiées... la planification ne s'exécutera pas et ton appli a moins de tourner en admin n'aura pas le droit de les réactiver de force (en supposant en plus que le niveau de sécurité du framework ne soit pas medium ou full trust. (sécurité moyenne ou totale)
    Une autre solution... par le biais de la base de registre tu peux lancer un script au redémarrage de la machine... donc tu peux obliger la machine à rebooter après exécution c'est gore mais c'est ta seule solution.
    Tu génere un batch (.bat) qui fait la suppression et se supprime lui meme (les fichiers batchs peuvent se supprimer eux meme à l'inverse d'exécutables.)
    En revanche je ne sais plus quelle section de la base de registre est dédiée aux démarrages "Uniques"(une seule fois) mais ca existe...
    Problème là aussi, d'une version de windows à l'autre cette clé registre change...

    bon courage

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    En revanche je ne sais plus quelle section de la base de registre est dédiée aux démarrages "Uniques"(une seule fois) mais ca existe...
    Je suppose que tu parles de la clé RunOnce ? Ca fait simplement exécuter le programme au démarrage, mais seulement la première fois. Après le programme n'est plus lancé au démarrage, mais rien n'empêche de le lancer manuellement...

  5. #5
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    il faut créer un batch de la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    :deletion
    if exists "PATH_DE_TON_APP" del "PATH_DE_TON_APP"
    if exists "PATH_DE_TON_APP" goto deletion
     
    del "PATH_DU_FICHIER_BAT"
    et tu le lances à la fin de ton application ( tu peut le lancer pendant que ton application tourne ). Le fichier bat va boucler tant que le fichier est vérouillé par Windows et dès que ton application se libère et que Windows libère le fichier, le bat le delete et se delete lui même.
    Il n'est pas nécéssaire d'utiliser une autre app ou la base de registre : c'est une méthode très utilisée par les installeurs

Discussions similaires

  1. Supprimer Ressource après Execution
    Par BATiViR dans le forum Delphi
    Réponses: 1
    Dernier message: 07/05/2007, 14h29
  2. charger une page apres execution d'une fonction
    Par lacsap49 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/03/2006, 16h25
  3. Réponses: 6
    Dernier message: 23/11/2005, 14h24
  4. Bases à supprimé après une installation de SQL Server ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/03/2005, 16h57
  5. Violation d'acces apres Execute
    Par SegmentationFault dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 10/08/2004, 16h23

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