Dela via


Metodtips för filassociationer

Följande lista är rekommenderade metodtips som du bör använda när du arbetar med filassociationer.

Kopiera inte filassociationer från registret

Vi rekommenderar att du inte kopierar befintliga filassociationer från registret. Detta leder ofta till spridning av dåligt formade filassociationer. I stället bör du följa de steg som beskrivs i exempelscenario för filassociation .

Undvik Hard-Coding sökvägar till registret där det är möjligt

Precis som hårdkodningsvägar till program kan orsaka problem kan hårdkodningsvägar till registret också leda till problem. I stället bör du använda registerexpansionssträngar (REG_EXPAND_SZ) för att tillhandahålla oberoende av sökväg där det är tillämpligt. I stället för att till exempel använda den här metoden:

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

Du bör använda den här metoden:

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

Radbryt alltid expanderande strängar inom citattecken

Expanderande strängar kan innehålla blanksteg när de expanderas. Eftersom blanksteg ofta tolkas som argumentavgränsare orsakar de problem under vissa omständigheter. Ett kommando för att anropa MyProgram kan till exempel lagras i registret som:

%SYSTEMROOT%\MyProgram %1 %2

MyProgram förväntar sig att %1 är den fullständiga sökvägen till ett filnamn, och %2 är en brytare för att indikera en åtgärd. Om det här kommandot körs med argument C:\Program Files\My Documents\document.txt och /print, och om du antar en SYSTEMROOT av C:\WINNT, expanderas det till:

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

I det här fallet tolkar MyProgram att det första argumentet är C:\Program, och det andra argumentet är Files\My, vilket inte är det avsedda beteendet. Argumenten tolkas dock korrekt, oavsett om de innehåller blanksteg, om de expanderande strängarna är omslutna inom citattecken enligt följande:

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

Blanda inte ihop autoplay/autorun med filassociationer

Filassociationer liknar Autoplay/Autorun på vissa sätt. Autoplay/Autorun erbjuder dock separata och distinkta faciliteter från de som tillhandahålls av filassociationer. För mer information, se Skapa ett program med AutoRun CD-ROM.

Blanda inte ihop INTERNET Explorer MIME-databasen med filassociationer

Filassociationer liknar MIME-databasen i Windows Internet Explorer, eftersom filtyper kan (och bör) innehålla en MIME-typdefinition. Internet Explorer MIME-databasen är dock separat och skiljer sig från filassociationer.

Använd korrekt formade och versionshanterade ProgID:er

Använd alltid versionerade ProgID:er , även om det bara finns en version av ProgID. Versionshanterade ProgID:er hjälper till att undvika ProgID-konflikter och överskrivningar. De gör också att olika versioner av ett program kan samexistera.

Använd inte korta filnamnstillägg

Långa filnamnstillägg har följande fördelar:

  • Den begränsade längden på korta förlängningar gör dem utsatta för förlängningskonflikter. En filändelsekonflikt inträffar när samma filändelse används för att klassificera flera filtyper. Om du använder långa förlängningar minskar risken för kollision avsevärt.
  • Korta filnamn tenderar att vara något kryptiska. Långa tillägg tenderar att vara mer meningsfulla eftersom ytterligare information kan bäddas in i tillägget.

Mer information finns i filnamnstillägg.

Registrera nya filtyper i IANA MIME-databasen

IANA (Internet Assigned Numbers Authority) behåller en offentlig databas med registrerade MIME-typer. När du definierar en ny offentlig filtyp rekommenderar vi att du även definierar en MIME-typ för filtypen och registrerar den här typen med IANA. Det kostar inget att registrera sig.

Registrera dig med Windows-webbtjänsten för filassociationer

Programutvecklare kan registrera sig med Windows-webbtjänsten som användarna använder för att hitta program som kan användas på specifika filtyper. Processen för att registrera dig med webbtjänsten beskrivs i processen för registrering av Windows File Association System (KB 929149).

exempelscenario för filassociation

riktlinjer för att hantera standardprogram i Windows Vista och senare

Standardprogram

Ange programåtkomst och standardvärden för datorer (SPAD)