Estoy escribiendo un instalador NSIS y el programa de instalación eleva "como administrador" según sea necesario en Windows 7/vista. Necesito ejecutar el programa instalado al final de la instalación y no quiero iniciarlo con los mismos privilegios que el instalador.Cómo iniciar un programa como un usuario normal desde un instalador elevado UAC
Los comandos regulares de NSIS ejecutan el proceso secundario con los mismos permisos que el instalador.
Existe un complemento de UAC para NSIS, pero la documentación no es excelente y parece v. Nuevo; Prefiero no usar ese complemento.
Idealmente, estoy buscando un pequeño .exe que pueda incluir que lanzará el programa de destino sin elevación de UAC. ¿Existe esto?
¿Alguna otra sugerencia?
Gracias!
Opción 1 es lo que habíamos elegido, pero esto no es "ideal". ¿Microsoft ha hecho imposible ejecutar un proceso "de-elevated"? Parece absurdo no tener una API para eso. Soy nuevo en NSIS y no lo conozco demasiado bien, así que no estoy del todo seguro de cómo UAC interactuará con el script MultiUser.nsh. Entonces, esa es otra complicación con la que no me gustaría lidiar. –
@KZ: Sí, es imposible lanzar un proceso no elevado desde uno elevado. La única solución es comenzar con un proceso no elevado, hacer que inicie su proceso elevado y hacer que el proceso elevado se comunique nuevamente con el proceso no elevado. elevado cuando quieres lanzar algo. Eso es lo que hace el plugin de UAC. Lo he estado usando durante muchos meses sin problemas. –
Bien entonces, volviendo a la opción 1 y 2. Supongo que me voy a dedicar a la integración el complemento UAC para una compilación posterior. Gracias por la ayuda! –