¿Cómo abrir aplicación instalada en Windows 10 desde VB.NET?

publicado por: Anonymous

Buenas,

¿Cómo puedo abrir una aplicación UWP instalada en Windows 10 desde VB.NET? He probado con Shell y con System.Diagnostics.Process.Start, que si funcionan bien si pones el “Notepad” pero me dan error de archivo no encontrado si pongo una aplicación UWP.

El caso es que lo necesito para ejecutar desde VB.NET otra aplicación mía creada con VB.NET que se instala en un Windows 10, pero si no soy capaz de abrir una aplicación genérica no se si podré abrir la mía.

solución

Iniciar aplicaciones conociendo su ruta

Claro que puedes abrir una aplicación usando Process.Start. Por ejemplo,el siguiente código abre una instancia del Chrome:

System.Diagnostics.Process.Start("chrome.exe")

En este caso no necesita la ruta,ya que está en el path. Si no, puedes poner el path completo al ejecutable:

System.Diagnostics.Process.Start(@"C:Program Files (x86)GoogleChromeApplicationchrome.exe")

Si necesitas pasarle parámetros, puedes hacerlo tambien:

System.Diagnostics.Process.Start("chrome.exe", "--incognito")

Iniciar aplicaciones UWP

Iniciar aplicaciones UWP es un poco más complejo. En Automatizar el inicio de aplicaciones de Windows 10 para UWP se dan algunas opciones. Una es la siguiente:

  • Obten el nombre de familia de paquete(Package Family Name) de la aplicación a ejecutar (puedes obtenerlo abriendo un PowerShell y ejecutando get-appxpackage MiNombreDePaquete)

  • Ejecuta tu aplicación usando la app appxlauncher.exe:

    C:Program Files (x86)Windows Kits10App Certification Kitmicrosoft.windows.softwarelogo.appxlauncher.exe" MiNombreDePaquete_ph1m9x8skttmg!AppId
    

Hay otras opciones que puedes consultar en el enlace que te puse antes.

Iniciar aplicaciones instaladas mediante Click Once

Para ejecutar aplicaciones ejecutadas mediante Click Once hay varias opciones:

  • Si la aplicación fue instalada desde una url (en una red local,por ejemplo), se puede ejecutar usando Iexplore.exe con la URL del archivo .application como parámetro:

    Process.Start("Iexplore.exe", "http://miServidor/aplicacion/aplicacion.application")
    

    Con esta opción, si la aplicación no está instalada, saltaría automáticamente el setup de la misma.

  • Otra opción es buscar el archivo appref-ms que corresponde, sabiendo la carpeta del menu inicio donde se encuentra. Algo asi:

    Dim sb As New StringBuilder()
    sb.Append(Environment.GetFolderPath(Environment.SpecialFolder.Programs))
    sb.Append("")
    sb.Append("CarpetaEnElMenuInicio")
    sb.Append("")
    sb.Append("MiAplicacion.appref-ms")
    Dim shortcutPath As String = sb.ToString()
    System.Diagnostics.Process.Start(shortcutPath)
    
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *