¿Cómo puedo obtener WiX instalador para solicitar privilegios de administrador?

Tenemos un programa que hemos desarrollado en casa. Estamos actualizando y mejorando el uso de Visual Studio 2012, y para ello han de dejar el proyecto de Visual Studio installer detrás. InstallShield LE estaba dando problemas con los accesos directos si la aplicación ya está instalada. Esto me dejó con finalmente va con WiX.

He investigado esto por un par de días y leer varios posts sobre cómo obtener derechos de administrador, pero ninguno de ellos parece funcionar. El Package elemento tiene InstallPrivileges=»1″ y la siguiente Property elemento está presente:

<Property Id="MSIUSEREALADMINDETECTION" Value="1" />

No va a solicitar privilegios de administrador cuando se inicia, y así se produce un error cuando intenta crear la carpeta del programa en C:\Program Files(x86).

MSI no pide derechos de administrador hasta el InstallExecuteSequence. Para obtener derechos de administrador desde el principio se tendría que usar un programa previo, mirar el Motor de grabación siempre con WIX.
Si su paquete se instala por máquina, a continuación, MSI motor de solicitudes de elevación de UAC automáticamente. Podría ser que su paquete es por usuario, pero todavía intenta escribir en Archivos de Programa? Es ALLUSERS la propiedad se establece en 1?
Gracias a ambos por vuestras sugerencias. A Natalie: no puedo utilizar el arranque. El resultado DEBE ser una MSI (alguien codificado el enlace mejora en la aplicación actual). He añadido el siguiente, y no estoy seguro de que (o qué combinación) me dio lo que yo necesito, pero funciona ahora: InstallPrivileges="elevated" AdminImage="yes" InstallScope="perMachine"
Puedes publicar que como la respuesta, y lo acepta. De hecho, le recomiendo que haga.
Posibles duplicados de WiX instalador debe ejecutar siempre como administrador

OriginalEl autor Opus Krokus | 2013-01-15

3 Kommentare

  1. 25

    Respuesta en Cómo llegar WiX instalador para solicitar Privilegios Administrativos

    Solución encontrada por Opus Krokus en comentario.

    Respuesta

    He añadido el siguiente (para el elemento del Paquete), y no estoy seguro de que (o qué combinación) me dio lo que yo necesito, pero funciona ahora: InstallPrivileges=»elevado» AdminImage=»yes» InstallScope=»perMachine»

    Yo creo que la de la derecha es InstallPrivileges. Me he quitado la AdminImage atributo y mi paquete sigue solicitando privilegios administrativos. AdminImage parece decir otra cosa, véase: stackoverflow.com/a/15434458/145349
    Es posible que en InstallScope="perUser" ? No puedo establecer privilegios para cada usuario.
    Usted tendrá que utilizar InstallScope="perMachine" para hacer este trabajo.

    OriginalEl autor Atrotygma

  2. 0

    Esto es lo que ha funcionado para mí, para mi MSI creado para la instalación en Windows 7 (y versiones posteriores):

      <!-- Set per-machine installation as default.
      See See http://msdn.microsoft.com/en-us/library/dd408007.aspx for an explanation of ALLUSERS=2 and MSIINSTALLPERUSER="".
      -->
      <Property Id="ALLUSERS" Value="2" />
      <!-- Needs to be empty value (and empty value must be commented out to get rid of error message when compiling):
      <Property Id="MSIINSTALLPERUSER" Value="" /> 
      -->

    Como se mencionó en el anterior XML comentario, ver http://msdn.microsoft.com/en-us/library/dd408007.aspx para más detalles.

    OriginalEl autor Eirik W

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea