Что такое Up!?!
Привет. Мне нравится, когда кто-то говорит;
«[...] как это отладить?"
На самом деле у меня нет установки Windows 8, и я также не играл с установкой Windows 8, так что я собираюсь предположить, что есть некоторые фундаментальные сходства с его предшественниками. Я постараюсь высказать предположения, как я их делаю.
Вызывая выстрелы
Исходя из вашего описания проблемы, я полагаю, что системе не удается записать правильные записи в реестре, так что при запуске "open" после ранее выполненного «open with ...» вы увидите приложение, которое вы выбрал в прошлый раз.
Я расскажу вам вашу проблему и докажу или опровергну мое первоначальное предположение. Если вам не нужны все мои подробности, представленные ниже, вы можете пропустить / просмотреть раздел «Разведка», где мы начинаем пытаться раскрыть проблему.
Быстрые исправления
Прежде чем мы перейдем к более сложным шагам, описанным ниже, вы должны сначала изучить интерфейс программ по умолчанию, который находится на панели управления. Вы можете получить аналогичный эффект через меню «открыть с помощью», но вы уже сказали, что это не работает для вас. ** Убедитесь, что вы устанавливаете флажок, который указывает, что вы должны запомнить ваши настройки в качестве приложения по умолчанию для любого приложения, которое вы выбрали.
В интерфейсе « Программы по умолчанию» на панели управления могут быть варианты "сбросить настройки по умолчанию" или вернуться к предыдущей версии. Вы можете рассмотреть эти различные варианты, чтобы увидеть, решают ли они вашу проблему. Сделайте это сначала, потому что они будут самыми легкими исправлениями. Если они не работают, то вам следует перейти к опциям ниже.
Предположения
Это предположения, которые я предвижу. Если какой-либо из них находится далеко от базы, то, пожалуйста, дайте мне знать, и если потребуется, я найду время для установки Windows 8.
Реестр
Я думаю, что самое большое предположение, которое я делаю, состоит в том, что ОС все еще использует реестр, и для мест, где я привожу примеры, я предполагаю, что структура / структура каталога реестра в Windows 8 аналогична его предшественникам.
Cmd.exe
Лично я часто предпочитаю командную строку, поэтому я, вероятно, опишу шаги в контексте терминальной сессии. Я предполагаю, что Windows 8 все еще имеет cmd.exe ; Я был бы очень удивлен, если бы это не так.
Редактор реестра
Если есть реестр, то, вероятно, есть инструмент для просмотра / редактирования реестра. Я предполагаю, что названия инструментов с графическим интерфейсом и командной строки такие же, как и в предыдущих версиях.
Права пользователя
Я предполагаю, что способы вызова оболочек с повышенными привилегиями достаточно похожи на предшественники ОС, и вы будете знать, что делать. Если я нахожусь за пределами базы, просто попросите меня проработать, и я сделаю все, что смогу.
SysInternals Suite
Я был бы крайне разочарован, если бы они не были доступны в Windows 8. Я не могу поверить, что они не будут доступны, потому что они настолько фундаментальны для циклов разработчика /QA, что Microsoft и сторонние разработчики проходят.
WinDbg.exe, DDK и SDK
Я предполагаю, что у вас их еще нет. Все в порядке. Мы, вероятно, можем решить проблему, не требуя этих сверхмощных инструментов. Сначала пройдите раздел « Разведка », и если вам нужно (или просто хотите) углубиться, тогда поговорим об этих инструментах.
Recon
Всегда старайтесь выполнить свою задачу самым простым из возможных способов. Начать с отладчика Windows было бы излишним для начальной точки, и было бы немного сложнее определить часть / последовательность событий, которые имеют отношение к делу.
Если вы еще не загрузили и не установили The SysInternals Suite, то вам следует сделать это сейчас. По крайней мере, вам понадобятся Process Explorer и Process Monitor для первых попыток определить, что происходит не так. Оба эти инструмента являются частью пакета, который вы можете загрузить в виде файла * .zip, но если у вас плохое сетевое соединение, вы можете загрузить два инструмента по отдельности, чтобы сделать это быстрее.
Разархивируйте пакет / инструменты в соответствующее место в вашей системе (в основном ваши личные предпочтения). Если вы используете утилиту распаковки Windows по умолчанию, вам нужно удалить файл Zone перед разархивированием архива. Файл зоны - это то, как ОС узнает, что «этот файл был скачан из Интернета, [...] запускается на свой страх и риск [...], снимите флажок [...]». Я уверен, что вы видели сообщение, подобное тому, что было во всплывающем окне раньше. Обычно в нижнем левом углу всплывающего окна есть небольшой флажок, который запомнит ваше решение в будущем, если вы один раз переключите его.
Другой способ увидеть этот флажок - щелкнуть правой кнопкой мыши -> Свойства загруженного файла. Флажок должен быть внизу вкладки Общие. Если установить этот флажок один раз, файл зоны будет удален из двоичного файла (в качестве примечания: файл зоны хранится в альтернативном потоке данных рассматриваемого двоичного файла - но это еще одно обсуждение. Пока просто используйте всплывающие окна или интерфейсы свойств файла для манипулирования файлами зоны.
Убедитесь, что вы удалили файл зоны из архива * .zip, прежде чем распаковывать его с помощью стандартного инструмента Windows zip. Если вы не удалите его из файла * .zip, тогда утилита ZIP пометит каждый распакованный файл файлом зоны, и тогда будет трудно получить всплывающее окно для всех двоичных файлов, которые вы запускаете в комплекте.
Мы начнем с двух инструментов:* Process Explorer (procxp.exe)* Process Monitor (procmon.exe)
Вы можете ссылаться на соответствующий файл * .chm, если хотите узнать о них больше. Мы собираемся начать с Process Explorer, и если мы не сможем быстро определить проблему, мы перейдем к Process Monitor (который немного сложнее запустить), и если мы все еще не можем решить проблему, мы поговорим о вытаскивании больших орудий. Дело в том, что я часто нахожу то, что мне нужно знать на этапе реконструкции, и мне не нужно запускать отладчик.
Фон и понимание
В реестре хранятся сопоставления, которые связывают расширения файлов с приложениями, которые знают, как с ними обращаться. Например, вы можете использовать инструменты командной строки ftype и assoc для просмотра / управления отображениями расширений для приложений.
Чтобы увидеть тип файла, связанный с расширением «.txt», выполните следующую команду из терминала.
$> assoc .txt
.txt=txtfile
Это указывает на то, что расширение файла .txt назначено классу типов файлов txtfile . Затем, чтобы увидеть приложение, связанное с классом txtfile , выполните команду
$> ftype txtfile
txtfile=%SystemRoot%\system32\notepad.exe %1
Эти инструменты просто читают настройки реестра для системы. Вы можете просмотреть их самостоятельно с помощью такого инструмента, как reg.exe, который вы выполняете с терминала, или большинство людей предпочли бы графический редактор реестра regedit.exe. В этом месте вы увидите некоторые расширения, классы типов файлов и ассоциации приложений, которые вы просто найдете в кусте HKEY_CLASSES_ROOT. Прямо под этим кустом вы должны найти ключ как для «.txt», так и для "txtfile" и, конечно же, для многих других вещей.
Вот еще несколько примеров использования утилит assoc и ftype .
Удостоверьтесь, что вы кормите расширения на асс. Я думаю, что вы уже знаете это, но для ясности расширения файла - это «точка, за которой следуют 3 или 4 символа», которые заканчивают имя файла. Например, application.exe, document.txt или Presentaion.ppt. Утилита Assoc ожидает, что вы предоставите "." и 3/4 символа в качестве его параметра.
$> assoc .exe
.exe=exefile
$> assoc .txt
.txt=txtfile
Отдельно и отдельно от расширения файла существует тип файла. Несколько расширений файлов могут быть сгруппированы в один тип файла. Посмотрите, как «.html» и «.htm» отображаются на один и тот же тип файла; то есть "htmlfile". Пример ниже пытается продемонстрировать этот момент дальше.
$> assoc .html
.exe=htmlfile
$> assoc .htm
.txt=htmlfile
$> ftype htmlfile
htmlfile="C:\Program Files (x86)\Internet Explorer\iexplorer.exe" -nohome
Кроме того, обратите внимание, что реестр содержит следующие ключи в кусте HKEY_CLASSES_ROOT.
- HKCR.html
- HKCR.htm
- HKCR\ HTMLFILE
Если есть удобный способ загрузить / прикрепить / отправить текстовый файл, выполните следующие команды, и я посмотрю на вывод, который они создают.
$> cd \somewhere\easy\for\you\to\find\
$> assoc > extension_associations.txt
$> ftype > filetype_handlers.txt
Теперь вы сможете открывать папки, в которые вы записали эти файлы, и делиться ими. Следующие команды также должны открывать файлы (если вы можете найти файлы, которые вы создали).
$> notepad \somewhere\easy\for\you\to\find\extension_associations.txt
$> notepad \somewhere\easy\for\you\to\find\filetype_handlers.txt
Если вы не можете поделиться со мной целыми * .txt файлами, то хотя бы выполните эти две команды и просто поместите их результаты в комментарии.
$> assoc .txt
.txt=textfile
$> ftype textfile
textfile="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
Если вы не видите там ничего , то вы должны начать, установив его на что - то. При внесении этих изменений убедитесь, что у вас есть повышенные привилегии (то есть привилегии администратора), иначе они, вероятно, не будут работать так, как вы ожидаете.
Process Explorer
ТОДО при необходимости
Монитор процесса
ТОДО при необходимости
Установка сред отладки Windows