Partager via


Meilleures pratiques pour les associations de fichiers

La liste suivante contient les meilleures pratiques recommandées que vous devez utiliser lors de l’utilisation d’associations de fichiers.

Ne pas copier les associations de fichiers à partir du Registre

Nous vous recommandons de ne pas copier les associations de fichiers existantes à partir du Registre. Cela conduit souvent à la propagation d’associations de fichiers mal formées. Au lieu de cela, vous devez suivre les étapes décrites dans Exemple de scénario d’association de fichiers.

Éviter d'Hard-Coding chemins d’accès dans le Registre si possible

Tout comme les chemins de codage en dur dans les programmes peuvent causer des problèmes, les chemins de codage dur dans le registre peuvent également entraîner des problèmes. Au lieu de cela, vous devez utiliser des chaînes d’extension du Registre (REG_EXPAND_SZ) pour fournir une indépendance de chemin d’accès, le cas échéant. Par exemple, au lieu d’utiliser cette méthode :

HKEY_CLASSES_ROOT
   MyVendor.MyProgram.1
      DefaultIcon
         (Default) = C:\WINNT\hta.exe,1

Vous devez utiliser cette méthode :

HKEY_CLASSES_ROOT
   MyVendor.MyProgram.1
      DefaultIcon
         (Default) = "%SYSTEMROOT%\hta.exe,1"

Toujours encapsuler des chaînes en développement entre guillemets

Les chaînes de développement peuvent contenir des espaces lorsqu’elles se développent. Étant donné que les espaces sont souvent interprétés comme des délimiteurs d’arguments, ils posent des problèmes dans certaines circonstances. Par exemple, une commande pour appeler MyProgram peut être stockée dans le Registre comme suit :

%SYSTEMROOT%\MyProgram %1 %2

MyProgram s’attend à ce que %1 soit le chemin d’accès complet à un nom de fichier, et %2 est un commutateur pour indiquer une action. Si cette commande est exécutée avec les arguments C:\Program Files\My Documents\document.txt et /print, et qu’en supposant qu’il s’agit d’un SYSTEMROOT de C:\WINNT, elle se développe comme suit :

C:\WINNT\MyProgram C:\Program Files\My Documents\document.txt /print

Dans ce cas, MyProgram interprète que le premier argument est C:\Program et que le deuxième argument est Files\My, qui n’est pas le comportement prévu. Toutefois, les arguments sont interprétés correctement, qu’ils contiennent ou non des espaces, si les chaînes en développement sont encapsulées entre guillemets comme suit :

"%SYSTEMROOT%\MyProgram" "%1" "%2"

Ne pas confondre lecture/exécution automatique avec des associations de fichiers

Les associations de fichiers sont similaires à la lecture automatique/à l’exécution automatique à certains égards. Toutefois, la lecture automatique/exécution automatique offre des fonctionnalités distinctes et distinctes de celles fournies par les associations de fichiers. Pour plus d’informations, consultez Création d’une application CD-ROM avec exécution automatique.

Ne pas confondre la base de données MIME Internet Explorer avec les associations de fichiers

Les associations de fichiers sont similaires à la base de données MIME Windows Internet Explorer, en ce que les types de fichiers peuvent (et doivent) inclure une définition de type MIME. Toutefois, la base de données MIME Internet Explorer est distincte des associations de fichiers.

Utiliser des progID correctement formés et versionnés

Utilisez toujours des ProgID avec version, même s’il n’existe qu’une seule version du ProgID. Les progID avec version permettent d’éviter les conflits et les remplacements ProgID. Ils permettent également à différentes versions d’une application de coexister.

N’utilisez pas d’extensions de nom de fichier court

Les extensions de nom de fichier long offrent les avantages suivants :

  • La longueur limitée des extensions courtes les rend sujettes aux collisions d’extension. Une collision d’extension se produit lorsque la même extension est utilisée pour classifier plusieurs types de fichiers. L’utilisation d’extensions longues réduit considérablement les risques de collision.
  • Les noms de fichiers courts ont tendance à être quelque peu cryptiques. Les extensions longues ont tendance à être plus significatives, car des informations supplémentaires peuvent être incorporées dans l’extension.

Pour plus d’informations, consultez Extensions de nom de fichier.

Inscrire de nouveaux types de fichiers dans la base de données MIME IANA

L’autorité IANA (Internet Assigned Numbers Authority) conserve une base de données publique de types MIME inscrits. Lors de la définition d’un nouveau type de fichier public, nous vous recommandons de définir également un type MIME pour le type de fichier et d’inscrire ce type auprès de l’IANA. L’inscription n’est pas facturée.

S’inscrire avec le service Web Windows pour les associations de fichiers

Les développeurs d’applications peuvent s’inscrire auprès du service Web Windows que les utilisateurs utilisent pour rechercher des applications qui peuvent fonctionner sur des types de fichiers spécifiques. Le processus d’inscription au service web est détaillé dans Processus d’intégration du système d’association de fichiers Windows (kb 929149).

Exemple de scénario d’association de fichiers

Instructions pour la gestion des applications par défaut dans Windows Vista et versions ultérieures

Programmes par défaut

Définir l’accès au programme et les valeurs par défaut de l’ordinateur (SPAD)