Как удалить ассоциации файлов - PullRequest
1 голос
/ 26 августа 2011

Я хотел бы знать, какую информацию следует удалить, чтобы удалить ассоциацию программы с конкретным расширением файла.

Я, очевидно, знаю, что расширения хранятся в ключе HKEY_CLASSES_ROOT, но я не уверен, что удалить или оставить. Должен ли я удалить весь ключ .EXTENSION при удалении программы? Должен ли я сделать резервную копию исходных данных ключа? Или просто очистить значение ключа по умолчанию (которое является идентификатором программы)?

Пожалуйста, сообщите.

1 Ответ

1 голос
/ 26 августа 2011

Прежде всего, вместо непосредственного редактирования HKCR, я бы порекомендовал использовать встроенные команды ftype и assoc . (Даже если они изменят порядок работы Reigstry, без сомнения, Microsoft продолжит поддерживать эти команды, выполняя все правильно.)

Я предполагаю, что то, что вы делаете с типом ассоциации файлов, зависит от того, какова команда расширения ... (Вы можете посмотреть общие расширения файлов здесь .) Если ваше приложение использует редкое расширение файла, тогда я бы сказал, что вы можете удалить как ассоциацию расширения (assoc .ext=), так и тип файла (ftype myfiletype=).

Но если ваше приложение регистрирует общее расширение файла - скажем, «.TXT» - тогда вы должны приложить все усилия, чтобы справиться с этим изящно. Если вы хотите, чтобы действительно был хорош, вы можете сохранить существующие ассоциации файлов во время установки, а затем восстановить их до тех исходных значений во время удаления. Или в таких случаях, как '.TXT', где есть стандартное значение по умолчанию (NOTEPAD.EXE), вы можете установить его обратно. В противном случае я мог бы просто удалить ассоциацию (assoc .ext=), поэтому в следующий раз, когда пользователь дважды щелкнет файл, он предложит ему выбрать программу (которая создаст для них значения ftype).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...