.net - Sådan fjerner du filforeninger

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne vide, hvilke oplysninger der skal slettes for at fjerne programforeningen med en bestemt filtypenavn.


Jeg ved selvfølgelig, at udvidelser er gemt i HKEY\_CLASSES\_ROOT-nøgle, men jeg er ikke sikker på hvad jeg skal slette eller beholde. Skal jeg fjerne hele .EXTENSION-nøglen, når programmet afinstalleres? Skal jeg sikkerhedskopiere de originale data i nøglen? Eller bare fjerne Standardnøgleværdien (som er program-id'et)?


Venligst rådgive.

Bedste reference


Først og fremmest, snarere end at redigere HKCR direkte, vil jeg anbefale at du bruger de indbyggede ftype- og assoc-kommandoer. (Selvom de ændrer hvordan Reigstry er arrangeret, vil Microsoft uden tvivl fortsætte med at støtte disse kommandoer på den rigtige måde.) [4]


Jeg gætter hvad du gør med filforeningen slags afhænger af, hvordan kommandoen udvidelsen er ... (Du kan slå op på almindelige filudvidelser her.) Hvis din app bruger en sjælden filtypenavn, vil jeg sige, at du er sikker på at fjern både udvidelsesforeningen (assoc .ext=) og filtype (ftype myfiletype=). [5]


Men hvis din app registrerer en fælles filtypenavn - sig '.TXT' - så skal du gøre dit bedste for at klare det med ynde. Hvis du ville være virkelig rart, kan du gemme de eksisterende filforeninger under installationen, og derefter gendanne dem til de oprindelige værdier under afinstallationen. Eller i tilfælde som '.TXT' hvor der er en standard standard (NOTEPAD.EXE), kan du sætte det tilbage til det. Ellers kan jeg bare fjerne foreningen (assoc .ext=), så næste gang brugeren dobbelt -klip på filen, det beder dem om at vælge et program (som vil opbygge ftype-værdierne for dem).