Tengo un script nodeJS que se ejecuta a través del archivo Inkscape SVG y exporta ciertas capas usando este comando:
inkscape.exe "myfile.svg" -i ${id} -j -C --export-png="${outPath}"
Sin embargo, en mi nuevo sistema, instalé Inkscape a través de la Tienda Windows y ahora el ejecutable está en algún lugar C:\ProgramFiles\WindowsApps
, al que no se puede acceder. Podría cambiar los permisos, pero supongo que la carpeta está bloqueada por una buena razón.
¿Hay alguna forma de ejecutar la aplicación de Windows sin acceder a esa carpeta? Me gustaría una solución que funcione para la mayoría de las aplicaciones, no solo para Inkscape.
Respuesta1
Nota:
Para los propósitos de crear esta respuesta, en lugar de usarpaisaje de tinta, utilicé la aplicación UWPCalculadora de Windows.
Sin embargo, en mi nuevo sistema, instalé Inkscape a través de la Tienda Windows y ahora el ejecutable está en algún lugar de C:\ProgramFiles\WindowsApps, al que no se puede acceder. Podría cambiar los permisos, pero supongo que la carpeta está bloqueada por una buena razón.
Si cambia los permisos de las aplicaciones de Windows a otros que no sean los predeterminados, los resultados no estarán definidos y las aplicaciones para UWP dejarán de funcionar.
¿Hay alguna forma de ejecutar la aplicación de Windows sin acceder a esa carpeta?
De hecho, es posible ejecutar una aplicación para UWP desde el símbolo del sistema.
Ejecute el siguiente comando de PowerShell
get-appxpackage > Resultado.txt
Navega
%UserProfile%
y abreResultado.txt- Determina elUbicación de instalaciónpara
Windows Calculator
. - Determina elNombreFamiliaPaquetepara
Windows Calculator
. - Navegue hasta InstallLocation con el Explorador de archivos.
- Abra AppManifest.xml con el Bloc de notas
- Determina elID de aplicaciónpara Calculadora de Windows. Normalmente busco elEjecutablede la aplicación UWP que estoy intentando iniciar.
- Hay casos en los que existirán varios paquetes para UWP en la misma carpeta. Esto significa que
AppManifest.xml
manejará múltiples ejecutables.
- Hay casos en los que existirán varios paquetes para UWP en la misma carpeta. Esto significa que
Dentro de un símbolo del sistema, escriba lo siguiente:
explorer.exe shell:appsFolder\Microsoft.WindowsCalculator_8wekyb3d8bbwe!Aplicación
Si encontraste el correctoID de aplicaciónpara la aplicación, se iniciará la Calculadora de Windows.
La ubicación de instalación de las aplicaciones para UWP no es estática; a medida que se lanzan nuevas versiones, su ubicación cambiará. Entonces, siguiendo esta guía, determiné que el actualNombreFamiliaPaquetede la Calculadora de Windows era Microsoft.WindowsCalculator_8wekyb3d8bbwe
y elID de instalacióneraAPP
Esto funcionará para cualquier aplicación UWP, por lo que repetí el proceso para Windows Live Calendar y lo ejecuté, explorer.exe shell:appsFolder\microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.calendar
lo que provocó que se iniciara Windows Calendar.
Respuesta2
Si bien la respuesta de @Ramhound es bastante completa, la parte de descubrir la aplicación UWP instalada en la tienda se puede mejorar:
- En el cuadro de diálogo Ejecutar de Windows ( Win+ R), ejecute
shell:AppsFolder
- Encuentra la aplicación en cuestión en la carpeta.
- Haga clic derecho y elija "Crear acceso directo"
- Diga "Sí" para "colocar el acceso directo en el escritorio"
- Haga clic derecho en el acceso directo y elija "Propiedades"
- La entrada en el campo "Destino" es la identificación que necesita.
- Copia la identificación (si puedes)
La aplicación ahora puede ser invocada por:
explorer.exe shell:appsFolder\app-id
Si no puede copiar el campo "Destino" y no tiene ningún producto que pueda recogerlo (yo uséCaptura2Texto), puede utilizar el procedimiento de Ramhound o el del artículo Iniciar la "Aplicación de la tienda" de Windows 10 desde la línea de comando.