Удаление .htm [l], вероятно, не имеет никакого эффекта, потому что file: // является протоколом, поэтому вам, вероятно, придется удалить его также.
Вы должны попытаться удалить HKCR\file
.
Это насколько вам может потребоваться документация, но есть другие недокументированные ключи, включенные в выбор ассоциации по умолчанию.
Для расширений файлов необходимо удалить HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.htm
(или, как минимум, подраздел UserChoice)
и для протоколов необходимо удалить HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\file
.Этот ключ также может существовать в HKLM.
Возможно, задействованы и другие ключи, вы можете узнать, куда Windows смотрит, наблюдая за вашим приложением с помощью Process Monitor из SysInternals.