¿Qué es el Up!?!
Hola. Me encanta cuando alguien dice;
"[...] cómo depurarlo?"
En realidad, no tengo una instalación de la configuración de Windows 8, y tampoco he jugado con una instalación de Windows 8, por lo que voy a suponer que hay algunas similitudes fundamentales con sus predecesores. Trataré de decir suposiciones mientras las hago.
Llamando a los tiros
Supongo que, según su descripción del problema, es que el sistema no puede registrar las entradas adecuadas en el registro, de modo que cuando ejecute "abrir" después de hacer "abrir con ...", verá la aplicación que seleccionado la última vez.
Le explicaré su problema y probaré o refutaré mi suposición inicial. Si no necesita toda mi verbosidad a continuación, puede saltar / escanear a la sección Recon, donde comenzamos a tratar de descubrir el problema.
Arreglos rápidos
Antes de entrar en los pasos más complicados que se describen a continuación, primero debe investigar la interfaz de Programas predeterminados que se encuentra en el Panel de control . Puede obtener un efecto similar a través del menú "abrir con ...", pero ya dijo que eso no funcionaba para usted. ** Asegúrese de configurar la casilla de verificación que indica que debe recordar su configuración como la aplicación predeterminada para la aplicación que haya seleccionado.
Debajo de la interfaz de Programas predeterminados en el Panel de control puede haber opciones para "restablecer los valores predeterminados" o volver a una versión anterior. Puede considerar estas diversas opciones para ver si resuelven su problema. Haga esto primero, porque serán las soluciones más fáciles. Si no funcionan, debe continuar con las opciones a continuación.
Supuestos
Estas son las suposiciones que preveo. Si alguno de ellos está fuera de la base, avíseme y, si es necesario, me tomaré el tiempo para configurar una instalación de Windows 8.
El registro
Creo que la suposición más importante que estoy haciendo es que el sistema operativo todavía usa el registro y, para los lugares donde doy ejemplos, supongo que el diseño / estructura del directorio del registro en Windows 8 también es similar a sus predecesores.
Cmd.exe
Personalmente, a menudo prefiero un símbolo del sistema, por lo que probablemente describa los pasos en el contexto de una sesión de terminal. Supongo que Windows 8 todavía tiene cmd.exe ; Me sorprendería mucho si no fuera así.
Editor de registro
Si hay un registro, entonces probablemente haya una herramienta para ver / editar el registro. Asumiré que el nombre de la GUI y las herramientas de línea de comandos son los mismos que en los predecesores.
Privilegios de usuario
Asumiré que las formas de invocar shell's con privilegios elevados son lo suficientemente similares a los predecesores del sistema operativo que sabrás qué hacer. Si estoy fuera de la base aquí, solo pídeme un poco de elaboración y haré lo que pueda.
SysInternals Suite
Me decepcionaría mucho si no estuvieran disponibles en Windows 8. No puedo creer que no estén disponibles porque son tan fundamentales para los ciclos de desarrollador / control de calidad por los que pasan Microsoft y los desarrolladores externos.
WinDbg.exe, DDK y SDK
Supongo que aún no tienes estos instalados. Esta bien. Probablemente podamos resolver el problema sin requerir esas herramientas de servicio pesado. Ir a través de la Recon primera sección y si es necesario (o simplemente quiere) para ir más profundo, entonces hablaremos de estas herramientas.
Recon
Siempre trate de realizar su tarea por el medio más simple posible primero. Comenzar con el depurador de Windows sería excesivo para un punto de partida, y sería un poco más difícil detectar la pieza / secuencia de eventos que son relevantes.
Si aún no ha descargado e instalado The SysInternals Suite , debe hacerlo ahora. Como mínimo, necesitará Process Explorer y Process Monitor para los primeros intentos de detectar lo que está mal. Ambas herramientas son parte de la suite, que puede descargar como un archivo * .zip, pero si tiene una conexión de red deficiente, puede optar por descargar las dos herramientas individualmente para hacerlo más rápido.
Descomprima la suite / herramientas en un lugar apropiado en su sistema (en gran medida su preferencia personal). Si está utilizando la utilidad de descompresión de Windows predeterminada, entonces querrá eliminar el archivo de Zona antes de descomprimir el archivo. El archivo de zona es cómo el sistema operativo sabe que "este archivo se descargó de Internet [...] ejecutado bajo su propio riesgo [...] desmarque la casilla [...]". Estoy seguro de que has visto un mensaje similar a ese en un cuadro emergente antes. Por lo general, hay una pequeña casilla de verificación en la parte inferior izquierda de la ventana emergente que recordará su decisión en el futuro si la alterna una vez.
Otra forma de ver esa casilla de verificación es hacer clic derecho -> Propiedades en el archivo que descargó. La casilla de verificación debe estar en la parte inferior de la pestaña General . Al activar esa casilla de verificación una vez, se eliminará el archivo de zona del binario (como nota al margen, el archivo de zona se almacena en un flujo de datos alternativo del binario en cuestión, pero esa es otra discusión. Por ahora, solo use las ventanas emergentes o interfaces de propiedades de archivo para manipular archivos de zona .
Asegúrese de eliminar el archivo de zona del archivo * .zip antes de desempaquetarlo con la herramienta zip predeterminada de Windows. Si no lo elimina del archivo * .zip, la utilidad ZIP marcará cada archivo desempaquetado con un archivo de zona y luego será un problema obtener la ventana emergente para cada binario que ejecute en la suite.
Vamos a comenzar con dos herramientas: * Process Explorer (procexp.exe) * Process Monitor (procmon.exe)
Puede hacer referencia al archivo * .chm correspondiente si desea obtener más información sobre ellos. Comenzaremos con Process Explorer y si no podemos detectar rápidamente el problema, pasaremos a Process Monitor (que es un poco más complicado de ejecutar), y si aún no podemos resolver el problema, hablaremos sobre sacar las armas grandes. Sin embargo, el hecho es que a menudo encuentro lo que necesito saber en la fase de reconocimiento y no necesito iniciar el depurador.
Antecedentes y comprensión
El registro es donde el sistema almacena las asignaciones que relacionan las extensiones de archivo con las aplicaciones que saben cómo manejarlas. Por ejemplo, puede usar las herramientas de línea de comandos ftype y assoc para ver / manipular las asignaciones de extensiones a las aplicaciones.
Para ver el tipo de archivo asociado con la extensión ".txt", ejecute el siguiente comando desde un terminal.
$> assoc .txt
.txt=txtfile
Esto indica que la extensión de archivo .txt está asignada a la clase de tipos de archivo txtfile . Luego, para ver la aplicación que está asociada con la clase txtfile , ejecute el comando
$> ftype txtfile
txtfile=%SystemRoot%\system32\notepad.exe %1
Estas herramientas solo están leyendo la configuración de registro para el sistema. Puede verlos usted mismo con una herramienta como reg.exe que ejecutaría desde un terminal o la mayoría de las personas preferiría el editor de registro GUI regedit.exe . En esa ubicación, verá algunas de las extensiones, clases de tipo de archivo y asociaciones de aplicaciones que simplemente buscaría en la sección HKEY_CLASSES_ROOT. Directamente debajo de esa colmena, debe encontrar una clave tanto para ".txt" como para "txtfile" y, por supuesto, mucho, mucho más.
Aquí hay algunos ejemplos más del uso de las utilidades assoc y ftype .
Asegúrese de alimentar extensiones a la asociación . Creo que ya lo sabe, pero para ser claros, las extensiones de archivo son el "punto seguido de 3 o 4 caracteres" que terminan un nombre de archivo. Por ejemplo, application.exe , document.txt o presentaion.ppt. La utilidad assoc espera que proporciones el "." y los 3/4 caracteres como su parámetro.
$> assoc .exe
.exe=exefile
$> assoc .txt
.txt=txtfile
Separado y distinto de la extensión del archivo, está el tipo de archivo . Se pueden agrupar múltiples extensiones de archivo en un solo tipo de archivo . Considere cómo ".html" y ".htm" se asignan al mismo tipo de archivo; es decir, "htmlfile". El siguiente ejemplo intenta demostrar este punto aún más.
$> assoc .html
.exe=htmlfile
$> assoc .htm
.txt=htmlfile
$> ftype htmlfile
htmlfile="C:\Program Files (x86)\Internet Explorer\iexplorer.exe" -nohome
Además, observe que el registro contiene las siguientes claves en la sección HKEY_CLASSES_ROOT.
- HKCR.html
- HKCR.htm
- HKCR \ htmlfile
Si hay una manera conveniente de cargar / adjuntar / compartir un archivo txt, ejecute los siguientes comandos y veré el resultado que crean.
$> cd \somewhere\easy\for\you\to\find\
$> assoc > extension_associations.txt
$> ftype > filetype_handlers.txt
Ahora debería poder abrir las carpetas en las que escribió esos archivos y compartirlas. Los siguientes comandos también deberían abrir los archivos (si parece que puede encontrar los archivos que creó).
$> notepad \somewhere\easy\for\you\to\find\extension_associations.txt
$> notepad \somewhere\easy\for\you\to\find\filetype_handlers.txt
Si no puede compartir archivos completos * .txt conmigo, entonces al menos ejecute estos dos comandos y solo ponga sus resultados en los comentarios.
$> assoc .txt
.txt=textfile
$> ftype textfile
textfile="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
Si no ve nada allí, entonces debe comenzar configurándolo en algo. Asegúrese de tener privilegios elevados (es decir, privilegios de administrador) cuando realice esos cambios, de lo contrario, probablemente no funcionarán como espera.
Explorador de procesos
TODO si es necesario
Monitor de proceso
TODO si es necesario
Instalación de entornos de depuración de Windows