If Firefox 2.0 does not recognise a mime-type it forces you to jump through hoops every time you wish to save a file of that type – never giving you the option to make a default action (eg. save-as) for the type.

Getting tired of this I eventually did some research to find a solution, case in point is the RAR file type (application/x-rar; application/x-rar-compressed).

Option 1: An Addon

Add the Mime-Edit extension that allows you edit any mime-type’s properties and actions, even those not recognised by Firefox.

Option 2: Hack

If you are confident in XML manually edit mimeTypes.rdf in your profile folder and add these blocks:

<RDF:Description RDF:about="urn:mimetype:application/x-rar-compressed"
NC:fileExtensions="rar"
NC:description=""
NC:value="application/x-rar-compressed"
NC:editable="true">
<NC:handlerProp RDF:resource="urn:mimetype:handler:application/x-rar-compressed"/>
</RDF:Description>

<RDF:Description RDF:about="urn:mimetype:handler:application/x-rar-compressed"
NC:alwaysAsk="false"
NC:useSystemDefault="false"
NC:saveToDisk="true">
<NC:externalApplication RDF:resource="urn:mimetype:externalApplication:application/x-rar-compressed"/>
</RDF:Description>

And in the section <RDF:Seq RDF:about=”urn:mimetypes:root”> add in this new row:

<RDF:li RDF:resource="urn:mimetype:application/x-rar-compressed"/>

Update: If the problem persists then there are some additional types you can override. Add these blocks:

<RDF:Description RDF:about="urn:mimetype:unknown/unknown"
 NC:value="unknown/unknown"
 NC:editable="true"
 NC:fileExtensions="rar"
 NC:description="RAR archive">
 <NC:handlerProp RDF:resource="urn:mimetype:handler:unknown/unknown"/>
 </RDF:Description>

 <RDF:Description RDF:about="urn:mimetype:handler:unknown/unknown"
 NC:alwaysAsk="false"
 NC:saveToDisk="true">
 <NC:externalApplication RDF:resource="urn:mimetype:externalApplication:unknown/unknown"/>
 </RDF:Description>

And again in the section <RDF:Seq RDF:about=”urn:mimetypes:root”> add in these new rows:

 <RDF:li RDF:resource="urn:mimetype:unknown/unknown"/>
 <RDF:li RDF:resource="urn:mimetype:application/unknown"/>

If this still doesn’t solve the problem there is still one last type you can try overriding. Search for the following text and change the saveToDisk to TRUE and alwaysAsk to FALSE.

<RDF:Description RDF:about="urn:mimetype:handler:application/octet-string"
 NC:saveToDisk="true"
 NC:alwaysAsk="false" />