Des applications en double dans LS

14:49 modifié dans API AppKit #1
Bonjour à  tous,

Je suis face à  un petit problème. Mon application se charge de mettre à  jour des applications tierces, et lors de l'installation de ces applications (qui sont en faite des mises à  jour), je vire l'ancienne version et remplace par celle téléchargée. Sauf que la base de données Launch Service me dire renseigne 2 fois la même application par la suite ! Donc lorsque je fais un clique droit sur un document j'ai parfois 2 fois la même application listée. Je suis sûr que ça vient de mon application car je l'ai remarqué qu'avec les applis que j'ai mis à  jour.

Une solution existe-elle pour remplacer une application par la même sans créer ce doublon dans la BDD LS ?

Merci d'avance.
Louka.

Réponses

  • schlumschlum Membre
    14:49 modifié #2
    /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
    


    Enfin c'est un peu bourrin quand même  :o

    Tu dois pouvoir l'appeler avec "-u" pour faire un "unregister"
  • 14:49 modifié #3
    Ok donc là  si je comprend bien en regardant via le terminal, tu kill la base de données LS et puis tu la refait scanner chez l'utilisateur ?
  • schlumschlum Membre
    14:49 modifié #4
    dans 1208635095:

    Ok donc là  si je comprend bien en regardant via le terminal, tu kill la base de données LS et puis tu la refait scanner chez l'utilisateur ?


    Oui, c'est ça... Le " scan " n'est pas très long en général.
  • 14:49 modifié #5
    dans 1208645983:

    dans 1208635095:

    Ok donc là  si je comprend bien en regardant via le terminal, tu kill la base de données LS et puis tu la refait scanner chez l'utilisateur ?


    Oui, c'est ça... Le " scan " n'est pas très long en général.


    Oui j'ai regardé ça m'a pris ~5 secondes, voir 10.
    Je vais voir ce que ça donne en combinant avec mon programme. Je te tiens au courant dans la journée  :fouf):
Connectez-vous ou Inscrivez-vous pour répondre.