Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

442
Views
Ejecutar un EXE desde C# usando UWP

He buscado y buscado y parece que me he topado con una pared de ladrillos aquí. Estoy desarrollando una aplicación que genera una huella digital de audio para buscar automáticamente una base de datos de audio para obtener el artista y el título correctos y cambiar el nombre de los archivos en consecuencia.

Mi problema es que no hay bibliotecas compatibles para C# y UWP (por lo que sé) que puedan generar una huella digital acústica. Lo único que encontré es Chromaprint, que me permite ejecutar un comando como "fpcalc.exe mymp3file.mp3 > generatefingerprint.txt" y tomar la huella digital en un archivo de texto.

Entonces, como puede ver, agarrar la huella digital no es realmente el problema aquí, el problema es que no puedo ejecutar un archivo EXE desde una aplicación UWP usando métodos tradicionales (como los que se usan en una aplicación Winforms). Tampoco puedo iniciar un símbolo del sistema para ejecutar el archivo desde UWP, por lo que no puedo generar la huella digital desde mi aplicación.

Entonces mi pregunta es, ¿alguien tiene alguna solución para esto? Entiendo que puedo usar Powershell dado que XboxOne es compatible con PowerShell, sin embargo, si uso el siguiente código:

 using (PowerShell PowerShellInstance = PowerShell.Create()) { PowerShellInstance.AddCommand(".\fpcalc.exe " + file.Path + " > out.txt"); }

Me sale el siguiente error al construir:

 Cannot find type System.SystemException in module CommonLanguageRuntimeLibrary

Entonces, ¿alguien tiene alguna idea de lo que puedo hacer para iniciar este archivo fpcalc.exe desde mi aplicación? En realidad, no me importa si la aplicación solo tiene soporte para PC y escritorios con Windows, pero la aplicación final debe poder pasar WACK y permitirse en Microsoft Store (que, por cierto, será gratuito para descargar).

Gracias de antemano por cualquier ayuda :)

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Me he estado golpeando la cabeza contra la pared toda la noche por esto, pero después de cientos de páginas en línea, es posible que haya encontrado una solución a mi problema.

Al hacer referencia a las "Extensiones de escritorio de Windows para UWP v10.0.14393.0" en "Referencias> Windows universal> Extensiones", puedo usar:

 await FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();

LaunchFullTrustProcess me permite iniciar una aplicación de confianza desde mi propia aplicación. Luego modifiqué el archivo XML del manifiesto del paquete y agregué lo siguiente en "capacidades"

 <rescap:Capability xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" Name="runFullTrust" />

Luego agregué lo siguiente a "aplicaciones" en el XML

 <Extensions xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"> <desktop:Extension Category="windows.fullTrustProcess" Executable="fpcalc.exe" /> </Extensions>

Luego modifiqué las dependencias para que mi aplicación se ejecutara en máquinas de escritorio de Windows.

 <Dependencies> <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" /> </Dependencies>

Entonces pude iniciar la aplicación. Una vez que termine de escribir el código, lo probaré y publicaré la solución correcta al problema para referencia futura.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!