There are actually no documentation about search.json and search.sqlite
files in kb.mozillazine.org and also the documentation about "profile
folder"  lacks information about search.json.
The only two information that I could found were a bug report "replace
search.json with startup cache"  and "Firefox's search engines
management is bad design" . Therefore I assume that search.json is a
cache, and as long as it exists firefox ignores anything in
search.sqlite and and "$PROFILE/searchplugins" folder. Since any new
search-plugin xml file that is copied to searchplugins folder is
ignored. Is this behavior expected or just a bug?
thanks, i'm aware of the json format.
please let me repeat my previous question:
'Therefore I assume that search.json is a cache, and as long as it
exists firefox ignores anything in search.sqlite and and
"$PROFILE/searchplugins" folder. Since any new search-plugin xml file
that is copied to searchplugins folder is ignored. Is this behavior
expected or just a bug?'
> search.sqlite is simply a database of your installed search engines.
I don't think this really true, since I can remove an entry from this db
but my search box still shows the search-plugin.
Therefore I really don't see the purpose of this db beside for the
additional information 'updateexpir'  that most probably is the date
when the plugin should be updated again, but what does the value
'updatedatatype' mean and which values are valid?
It might be helpful to explain exactly what you are trying to do.
As Jay stated, search.sqlite is a database of installed search plug-ins.
Firefox uses .json files to back up .sqlite database files.
If you are editing or deleting the .sqlite file then it's data would be
different than the back-up and would be considered "corrupt". It would then be
restored from the info in the .json file. The files are intended for the
internal use of Firefox and are not intended to be modified by users. That
Firefox defeats your actions is not only _not_ a bug, it is intended behavior.
The usual method to install a search plug-in is to load it from a site
configured to install the plug-in.
If you are trying to manually add a search plugin by putting it in the
searchplugins folder you will have to delete both the search.sqlite file and the
search.json file. (Do all this with Firefox not running.) When Firefox
restarts it will have no option to back up and will recreate search.sqlite by
reading the contents of the searchplugins folder.
The OpenSearch plug-in format discussed in the link  in your other post can
also be installed in IE7 (or IE8). Useful if you need a custom search available
G. R. Woodring