Hay alguito más para explicar acerca de las asociaciones:
1. FType y Assoc funcionan a nivel PC (HKLM HKCR) y no de Usuario (HKCU), PERO el Sistema le hace más caso al nivel Usuario.
2. A nivel de Usuario también existe una Caché y una Lista de preferencias en las Asociaciones.
3. Seguridad de preferencias de asociaciones
Empecemos con la primera parte, FType y Assoc requieren permisos de Administrador justo por esa razón, al final no hacen más que crear ciertas Claves en el Registro de Windows, ahora bien, uno mismo puede crear las Claves a mano y mejor si lo hace a nivel de Usuario ya que no será necesario permisos de administrador
- Los equivalentes a FType y Assoc serían:
Reg Add HKCU\SOFTWARE\Classes\fotis\Shell\Open\Command /VE /D "\"C:\XnViewMP\xnviewmp.exe\" \"%1\"" /F
Reg Add HKCU\SOFTWARE\Classes\.jpeg /VE /D fotis /F
TsKill explorer
- El último TsKill explorer es para que se reinicie el Explorador de Windows y tome efecto los cambios hechos.
- Como se puede ver es alguito más complejo pero si un Programa ha hecho cambios a nivel de Usuario, el sistema a tomar esos cambios en lugar de los del nivel PC
PERO, primero yo probaría vaciando la Lista de Preferencias de asociaciones (2do punto), es decir, para tu ejemplo tal como lo vienes haciendo sería:
FType fotis="C:\XnViewMP\xnviewmp.exe" "%1"
Assoc .jpeg=fotis
Reg Delete HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpeg /F
Así es más sencillo, ahí se usa la última línea para eliminar la caché y preferencias por defecto de las asociaciones del usuario actual. Ahora solo considerar el 3er punto, la seguridad de las preferencias de asociaciones, esto ya es más complicado ya que si el usuario manualmente a seleccionado un archivo con cierta extensión y le ha dado click derecho > abrir con > Elegir otra aplicación, y ahí a seleccionado un programa y marcado el check Abrir siempre .... En este caso se agrega cierta seguridad para que no se pueda eliminar fácilmente dicha preferencia, entonces notaras un error al intentar la tercera línea anterior, algo como: Acceso denegado o que solo se ha podido borrar una parte y no todo.
1º he intentado el bloque A:
Reg Add HKCU\SOFTWARE\Classes\fotis\Shell\Open\Command /VE /D "\"C:\XnViewMP\xnviewmp.exe\" \"%1\"" /F
Reg Add HKCU\SOFTWARE\Classes\.jpeg /VE /D fotis /F
TsKill explorer
2º no puedo abrir el jpeg (me pregunta con qué programa de Windows abrir esa extensión)
3º pruebo el bloque B:
FType fotis="C:\XnViewMP\xnviewmp.exe" "%1"
Assoc .jpeg=fotis
Reg Delete HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpeg /F
4º no puedo abrir el jpeg (me pregunta con qué programa de Windows abrir esa extensión)
5º vuelvo a ejecutar el bloque A pero me dice lo mismo
os pego aquí lo que me dijo la consola, especialmente hay una asignación parcial sospechosa:
Microsoft Windows [Versión 10.0.19042.928]
(c) Microsoft Corporation. Todos los derechos reservados.
C:\WINDOWS\system32>Reg Add HKCU\SOFTWARE\Classes\fotis\Shell\Open\Command /VE /D "\"C:\XnViewMP\xnviewmp.exe\" \"%1\"" /F
La operación se completó correctamente.
C:\WINDOWS\system32>Reg Add HKCU\SOFTWARE\Classes\.jpeg /VE /D fotis /F
La operación se completó correctamente.
C:\WINDOWS\system32>TsKill explorer
C:\WINDOWS\system32>FType fotis="C:\XnViewMP\xnviewmp.exe" "%1"
fotis="C:\XnViewMP\xnviewmp.exe" "%1"
C:\WINDOWS\system32>Assoc .jpeg=fotis
.jpeg=fotis
C:\WINDOWS\system32>Reg Delete HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpeg /F
ERROR: La solicitud de eliminación se completó parcialmente.
C:\WINDOWS\system32>Reg Add HKCU\SOFTWARE\Classes\fotis\Shell\Open\Command /VE /D "\"C:\XnViewMP\xnviewmp.exe\" \"%1\"" /F
La operación se completó correctamente.
C:\WINDOWS\system32>Reg Add HKCU\SOFTWARE\Classes\.jpeg /VE /D fotis /F
La operación se completó correctamente.
C:\WINDOWS\system32>TsKill explorer
C:\WINDOWS\system32>
si queréis hago un video demostrativo y lo muestro en vimeo o algo así