Salut à tous...
Désolé de ne pas être intervenu sur ce thread plus tôt, c'est un peu speed ces temps-ci..
Arrêtez de chercher !
Je confirme qu'il y a bel et bien un problème lié aux "Programmes par défaut" de Windows, NSV a tout à fait raison et ses recherches l'on mené exactement là ou ça coince.
Cette fonctionnalité est apparue sous 2000 et XP avec des services pack et existe nativement sur Vista.
Elle est différente sur les 3 OS et ils ne réagissent pas tous de la même manière.
Les problèmes qui se posent concernent les fichiers (et protocoles) qui sont gérés par des clients "standard". Entendez par là qu'ils font des choses courantes comme naviguer sur le web, envoyer/recevoir des mails ou encore jouer des fichiers multimédia.
Ces fameux "Programmes par défaut" se déclarent dans la base de registre pour permettre à Windows de les gérer un peu différemment, et effectivement sous Vista cela peut provoquer des conflits avec ce que demande KFA (et pas KAF
) Ã Windows.
J'ai fait des tests dans tous les sens et lu la doc de Microsoft sur le sujet et nous sommes arrivés avec Vista à une limite que KFA ne peut pas franchir sans revoir un peu sa philosophie..
KFA a actuellement comme principe de base de n'intervenir que dans la branche "HKEY_CURRENT_USER\..." de la base de registre. Ceci permet de ne pas toucher la configuration globale du système mais uniquement aux paramètres de l'utilisateur courant. De plus, et surtout avec Vista (et l'UAC..), accéder à "HKEY_LOCAL_MACHINE\.." ou autre ne se fait pas sans une alerte de sécurité, et suivant les droits on peut facilement être bloqué.
Or... Ces fameux "Programmes par défaut" qui prennent la main sur les associations "à l'ancienne" nécessitent d'être déclarés dans HKEY_LOCAL_MACHINE..
Pour que KFA et Windows cohabitent sans embrouille il faut une évolution permettant de gérer les programmes par défaut comme Windows l'entend maintenant. Il n'y a que comme ça qu'on pourra être sûr d'obtenir le résultat souhaité.
XP est plus tolérant avec la méthode de base. Contrairement à Vista, quand une association est déclarée "par défaut", il considère partiellement le programme associé comme un "Programme par défaut".
Du coup, sous XP, KFA arrive plus facilement à ses fins. Mais ce n'est malheureusement pas sans effet de bord... Pour que l'application associée puisse suivre la procédure des "Programmes par défaut", il l'enregistre automatiquement dans la base de registre avec les autres "Programmes par défaut". Malheureusement, si l'initiative paraît intéressante parce qu'elle permet une compatibilité ascendante, Windows n'a pas la bonne idée de nettoyer les applications enregistrées automatiquement lorsqu'elles ne sont plus déclarées par défaut.
Vista ne fait pas cet enregistrement automatique dans les programmes par défaut et c'est une des raisons pour lesquelles ça commence à coincer.
Un point qui intrigue NSV dans ses recherches, c'est le fait que soit proposé un programme sur les fichiers MPEG alors qu'il n'a pas fait l'association.
C'est probablement du au fonctionnement interne des associations, et il n'est pas impossible que dans certains cas cela se produise aussi sous XP ou 2000.
En gros, les associations ne fonctionnent pas selon le principe "Telle extension est gérée par telle application". Il y a un niveau intermédiaire.
Dans la base de registre, on dit (par exemple) dans un premier temps "Les fichiers .mp3 sont des fichiers audio". Là apparait une sorte de catégorie "audio". De la même façon, on peut ajouter "Les fichiers .wav sont des fichiers audio". Ensuite, on dit "Les fichiers audio sont ouverts par AIMP2" et du coup, AIMP2 se retrouve associé avec les deux.
L'idée de KFA n'étant pas de prendre la main sur les applications déjà installées en local sur la machine, il associe les applications portables en plus des associations existantes, ce qui fait qu'il se retrouve parfois à suivre des règles déjà établies par la configuration locale...
Ceux qui n'ont pas encore abandonné la lecture seront peut être intéressés d'en apprendre
un peu plus sur les "Programmes par défaut" de Windows.
Sous XP, il reste une différence entre les "Programmes par défaut" et les associations par défaut qui fait qu'on peut avoir un client de messagerie "par défaut" qui n'est pas forcément le programme lancé quand on ouvre un lien de type mailto:adresse@email.com.
L'inscription dans le Registre d'une application en tant qu'application de courrier électronique par défaut du menu Démarrerdiffère de l'enregistrement d'une application en tant que client de courrier électronique par défaut du système ou en tant que gestionnaire mailto inscrit dans le Registre. Le client de courrier électronique par défaut du système est démarré lorsque l'utilisateur clique sur Lire le courrier électronique dans le menu Outils d'Internet Explorer. Le gestionnaire mailto inscrit dans le Registre est démarré lorsque l'utilisateur clique sur une URL de la forme mailto:utilisateur@microsoft.com. L'application de courrier électronique du menu Démarrer est utilisée lorsque l'utilisateur clique sur l'icône Courrier électronique dans le menu Démarrer.
Si ça intéresse quelqu'un :
l'article complet
Voilà pour les explications...
Pour la solution il va falloir patienter encore un peu...