Mi objetivo es realmente lograr el lanzamiento de mi aplicación ClickOnce con un solo clic (o dos, supongo). La aplicación tiene algunos requisitos previos que deben ser instalados. La forma normal de garantizar que estén instalados y que Microsoft proporcione implica que el usuario decida si tiene los requisitos previos o no, y descarga e instala un "setup.exe" que los instala y ejecuta la aplicación ClickOnce. Esto implica descargar el archivo EXE (un clic), ejecutarlo (dos clics), luego de que se hayan instalado los requisitos previos, hacer clic de nuevo para ejecutar la aplicación ClickOnce.Ejecutando una aplicación ClickOnce desde otra aplicación ClickOnce
Estoy tratando de reducir este proceso a uno o dos clics: - Haga clic en un enlace en mi sitio web al archivo ClickOnce .application
. - Haz clic nuevamente para ejecutarlo.
He creado otra aplicación ClickOnce, que incluye un setup.exe. Comprueba si los requisitos previos están instalados y, si lo están, ejecuta la otra aplicación ClickOnce automáticamente. Si no, ejecuta setup.exe incluido y luego ejecuta la otra aplicación ClickOnce.
Mi problema es que cuando intento ejecutar la otra aplicación ClickOnce desde esta, simplemente abre mi navegador web y descarga el archivo .application sin ejecutarlo.
estoy tratando de usar lo siguiente para iniciar la aplicación ClickOnce desde dentro de mi código C#:
Process.Start(ApplicationURL);
Sólo quiero que esto se inicie automáticamente la aplicación en ApplicationURL. ¿Hay alguna forma de evitar la participación del navegador que estoy viendo?
(Mi pregunta es muy similar a la pregunta sobre el desbordamiento de la pila Run a ClickOnce application from a webpage without user action).
¿Cuál es su navegador predeterminado?¿Has probado: 'Process.Start (" iexplore.exe ", ApplicationURL)'? –
Ok, acabo de encontrar la respuesta a mi propia pregunta. El problema es que mi navegador predeterminado es Google Chrome, que no sabe cómo manejar las aplicaciones de ClickOnce. Cambié mi código a: ProcessStartInfo startInfo = new ProcessStartInfo ("Iexplore"); startInfo.Arguments = ApplicationURL; Process agentStudio = Process.Start (startInfo); Ahora inicia la aplicación utilizando Internet Explorer, y la aplicación ahora realmente funciona como una aplicación de "un clic". – Jschiff
¡Gracias M. Babcock, lo descubrió de forma independiente al responder! – Jschiff