winforms - studio - ¿Cómo ejecutar ejecutable al final de Setup Project?
crear instalador c# visual studio 2017 (7)
He hecho esto para aplicaciones internas creando un arnés de VB Script que inicia el ejecutable de instalación, espera a que se cierre y luego inicia el segundo programa.
También puede lograr esto con un poco más de pulido usando unas pocas llamadas de Win API en un ejecutable C.
Tengo un Proyecto de instalación de Visual Studio que uso para instalar una aplicación WinForms bastante simple. Al final de la instalación, tengo una página de interfaz de usuario personalizada que muestra una sola casilla de verificación que le pregunta al usuario si desea ejecutar la aplicación. He visto otros instaladores hacer esto con bastante frecuencia. Pero no puedo encontrar la forma de que Setup Project ejecute un archivo ejecutable una vez que finaliza la instalación. ¿Ideas?
NOTA: No puede usar acciones personalizadas porque se usan como parte del proceso de instalación, quiero ejecutar mi aplicación instalada una vez que el usuario presiona el botón ''Cerrar'' al final de la instalación.
Creo que esta es una de las limitaciones reales del proyecto de instalación de Visual Studio. Debe poder modificar la última página de la interfaz de usuario de instalación, pero VS.NET no le ofrece la posibilidad de hacerlo. Puede modificar las tablas en .MSI después de que se haya creado, pero VS.NET probablemente sobrescribirá estos cambios cada vez que se compile. Es posible que pueda anular la última página utilizando un módulo de fusión que incluya en el proyecto de instalación. De cualquier forma, tendrá que familiarizarse con cómo se crean los diálogos de la interfaz de usuario en .MSI y esto no es trivial.
Puede considerar cambiar a un instalador basado en scripts gratuito o comprar una aplicación de creación de configuración comercial (simplemente no compre InstallShield por amor a Pete). Eche un vistazo a InstallAware (aunque no lo he usado).
Puedes usar MSILAUNCH (aunque solo lo tengo para trabajar con MSICREATE).
También puedes usar acciones personalizadas
Acabo de encontrar una manera muy fácil que no requiere herramientas externas. Solo debe agregar un archivo de clase al proyecto principal y una acción personalizada al proyecto de instalación.
Lo logré haciendo invocando el método Main el ensamblado usando la siguiente línea:
(typeof(ClassWithinAssemblyToExecute)).Assembly.EntryPoint.Invoke(null, new Object[] {} )
puedes hacerlo mediante un instalador personalizado. solo agregue la clase de instalador y verá muchos eventos como después de la instalación, antes de la instalación. acaba de conectar después de la instalación y desde allí ejecuta tu exe por clase de proceso. Sugeriría u google para encontrar más información sobre el instalador personalizado. aquí hay un buen enlace que podría ayudarlo http://www.codeproject.com/Articles/19560/Launching-Your-Application-After-Install-using-Vis
Gracias