Неверное сопоставление файлов в хранилище WMI

262
Bartleby the Scrivener

Машина Windows 7, и, насколько я знаю, единственная странность в системе - это то, что я упоминаю ниже.

Я имею дело с большим количеством текстовых файлов, которые не имеют расширения, поэтому некоторое время назад я связывал файлы без расширения с Notepad ++ x64. Ну, мне нужна была функциональность плагинов, которые не совместимы с x64, и в итоге я удалил их.

С тех пор я пытался выдавать новые команды, чтобы связать файлы без расширения с 32-битной версией, установленной по пути x86, но, несмотря на это, всякий раз, когда я пытаюсь дважды щелкнуть файл, он указывает на обычные «программные файлы». " дорожка. Я просматривал весь реестр несколько раз и не могу найти упоминание о несуществующем пути, и если я создаю вторую копию N ++ по обычному пути к программным файлам, он работает просто отлично, но я бы хотел использовать только один экземпляр

После дополнительной работы, я думаю, я мог найти источник проблемы. Кажется, это неправильная запись в моем репозитории WMI (файл OBJECTS.DATA в .. \ WBEM \ Repository). К сожалению, я сделал ровно ноль с этим, и все, что я читаю из MS, говорит мне только попытаться перестроить его в качестве абсолютного крайнего средства, и, поскольку это просто плохая файловая ассоциация, я довольно не хочу этого делать ,

Есть ли способ восстановить сопоставление файлов в хранилище WMI?

1
Основная идея заключается в том, чтобы [использовать это] (https://www.sevenforums.com/tutorials/19449-default-file-type-associations-restore.html) учебное пособие, но создать собственный файл .reg для восстановления / удаления Ассоциация вы сделали для всех файлов без расширения файла. Ramhound 6 лет назад 0
Я удалил ключ для. в HKEY_CLASSES_ROOT (именно это я и сделал, чтобы связать это в первую очередь), но это не работает. Я начинаю думать, что есть другое место, где хранятся такие ассоциации. Bartleby the Scrivener 6 лет назад 0
Я предполагаю, что вы искали `../Program Files / N + Установочный каталог здесь` в вашем реестре? Ramhound 6 лет назад 0
Я надеюсь, что вы не ищете буквально N +, потому что это не имя исполняемого файла. Вы ищете имя исполняемого файла, верно? Ramhound 6 лет назад 1
Ну, я думаю, что нашел, где это, но я понятия не имею, как это исправить. Похоже, что он застрял где-то в хранилище WMI, и на этом этапе я не очень удобен. Я ищу способы отремонтировать его, не восстанавливая его. Bartleby the Scrivener 6 лет назад 0
Хотите обновить свой вопрос со спецификой? Ramhound 6 лет назад 0
Я думаю, что репозиторий WMI - это красная сельдь, насколько я знаю, он никак не связан с файловой ассоциацией Windows Explorer, по крайней мере, в Windows 7. Alberto Martinez 6 лет назад 0

1 ответ на вопрос

0
Alberto Martinez

Прежде чем перейти к проблеме ассоциации, как я указал в комментариях, WMI - это красная сельдь, WMI - это инструментарий управления Windows, а API - для получения информации о системе, например, для запроса информации в стиле SQL. Я использовал его для получения информации о запущенных процессах . Относительно хранилища WMI :

Репозиторий WMI «% windir% System32 \ Wbem \ Repository» - это база данных, в которой хранится метаинформация и определения для классов WMI; в некоторых случаях в хранилище также хранятся данные статического класса.

Поэтому я не вижу, как ваша проблема может быть связана с хранилищем WMI, потому что она не используется ни для связи файлов, ни для другой конфигурации Проводника, возможно, в хранилище есть некоторая информация о Notepad ++, но она не связана с этим.

Что касается вашей проблемы, «стандартный» способ привязки программы к файлам без расширения использует расширение .(точка) HKEY_CLASSES_ROOT, есть два варианта, «старый» способ:

[HKEY_CLASSES_ROOT\.] @="Notepad++Test"  [HKEY_CLASSES_ROOT\Notepad++Test] @="Notepad++ Test" [HKEY_CLASSES_ROOT\Notepad++Test\shell\open\command] @="\"C:\\Program Files\\Notepad++\\notepad++.exe\" %1" 

и «новый» способ введен в Windows XP (или, может быть, в Windows 2000, я не уверен):

[HKEY_CLASSES_ROOT\.\OpenWithProgids] "Notepad++Test"=""  [HKEY_CLASSES_ROOT\Notepad++Test] @="Notepad++ Test" [HKEY_CLASSES_ROOT\Notepad++Test\shell\open\command] @="\"C:\\Program Files\\Notepad++\\notepad++.exe\" %1" 

( Notepad++Testкак я назвал ключ, который использовался в моих тестах, этот ключ может иметь любое имя в зависимости от того, кто создал ключ и как)

Проверьте, какие значения у вас есть, вы также можете проверить, HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.\OpenWithProgidsкакой список расширений для каждого пользователя и связанных с ним программ заполняется автоматически (я думаю, что этот ключ имеет более низкий приоритет, чем другой, но я не конечно).

Если у вас нет HKEY_CLASSES_ROOT\.созданного ключа или если он имеет правильные значения, возможно, вы используете нестандартный способ сопоставления файлов, возможно, с использованием сторонней программы, которая неправильно настроена.

Увы, я не только специально проверил ключи, о которых идет речь, но я искал во всем реестре нужный текст, и его там нет. Причина, по которой я думаю, что это репозиторий WMI, заключается в том, что я искал весь свой диск в поисках нужного ему пути, и он обнаружен только в двух местах: 1. Хранилище WMI 2. Superfetch За пределами этого я думаю, что это Репозиторий WMI связан с тем, что проблема остается, когда Superfetch отключен. Я полагаю, что это может быть что-то, что не может найти File Locator Pro, но если это так, то я застрял еще хуже. Bartleby the Scrivener 6 лет назад 0
Как я уже говорил, возможно, в репозитории есть информация о Notepad, но AFAIK не может быть связан с конфигом Explorer, находится на другом уровне в архитектуре SO. Может быть, вы могли бы узнать, что происходит с помощью [Process Explorer] (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer), эта программа перехватывает и регистрирует все действия реестра и файловой системы, проблема в том, что он ловит * все *, так что, возможно, вам нужно много копать даже при использовании фильтров. Если вы заинтересованы в этом, я обновлю ответ с основными шагами и записями в блоге от автора об его использовании. Alberto Martinez 6 лет назад 0