¿Por qué el inicio de un archivo ejecutable mediante un archivo .cmd permitiría que se ejecute correctamente, cuando se produce un error con un inicio normal con doble clic?

¿Por qué el inicio de un archivo ejecutable mediante un archivo .cmd permitiría que se ejecute correctamente, cuando se produce un error con un inicio normal con doble clic?

Intentaré aclarar. Tengo un exe, llamémoslo foo.exe en una PC con Windows 10.

Si hago doble clic en este archivo, ya sea a través de un acceso directo en el escritorio o haciendo doble clic desde el Explorador de archivos, se genera un error (en este punto, los detalles del error no importan, pero creo que puede estar intentando). llamar a alguna dll y falla).

Sin embargo, si creo un archivo .cmd que dice "Iniciar foo.exe", funciona bien: no hay errores y el programa es completamente funcional.

Me pregunto cuáles son las diferencias funcionales entre los modos de lanzamiento y me inclino posiblemente por el token de seguridad con el que se ejecuta.

Básicamente, si hago un doble clic, obtengo fuego y azufre.
Sin embargo, si yo: A. Lo ejecuto desde un archivo .cmd o B. Ejecuto como administrador o C. Inicio la función Solucionar problemas de compatibilidad (haga clic con el botón derecho). Estos errores no ocurren. No parece ser un problema de compatibilidad porque: a. Funciona bien a través del archivo .cmd o ejecutar como administrador b. Si guardo el modo de compatibilidad elegido, todavía aparece un error cuando hago doble clic la próxima vez.

Este me está matando: es un .exe de un proveedor, por lo que no tengo el código fuente y no puedo dar ningún detalle sobre qué archivos DLL llama, etc. Solo estoy buscando un segundo par de ojos de alto nivel. en cuanto a por qué ejecutar a través de un método de inicio diferente hace que un exe simple se ejecute bien.

Este mismo .exe NO tenía este problema en Windows 7; este comportamiento es nuevo en Windows 10. He oído que hay algo en WIn 10 que de forma predeterminada ejecuta cualquier cosa con el token menos privilegiado posible, independientemente de si el usuario es un superadministrador o invitado, y aquí es donde me inclino, pero no estoy seguro y no estoy seguro de cómo solucionarlo. ¡Gracias!

información relacionada