Ejecute archivos MSI como administrador desde una cuenta de usuario

18

Normalmente estoy conectado como usuario normal en mi cuadro de Windows XP. A veces, cuando quiero instalar una actualización de software, no quiero cerrar sesión e iniciar sesión nuevamente como administrador, pero hago clic con el botón derecho en el instalador exe y elijo "Ejecutar como ..." para ejecutarlo desde mi cuenta de administrador . Sin embargo, esta opción solo parece existir para archivos exe, no para archivos msi.

¿Hay alguna manera de hacer que los archivos msi se ejecuten con una cuenta diferente? ¿O eso no es aconsejable por alguna razón?

Tim Pietzcker
fuente
Simplemente inicie la instalación del archivo MSI desde un símbolo del sistema elevado (haga clic con el botón derecho en cmd.exe y seleccione "ejecutar como administrador"). Instale con una línea de comando algo como esto: msiexec.exe /I "MyFile.msi" /QN /L*V "C:\msilog.log"(actualice las rutas según corresponda). Runas debería funcionar bien, solo encuentro un símbolo del sistema elevado más fácil.
Stein Åsmul

Respuestas:

24

Los archivos .msi se pueden ejecutar con msiexec.exe, por lo que, en combinación con el comando runas , puede lograr lo que desea:

runas /user:administrator "msiexec /i <path and filename of your msi>"

Como se recomienda una ruta de acceso completa al archivo, es posible que necesite comillas alrededor y que necesite escapar de ellas con una barra invertida \:

runas /user:administrator "msiexec /i \"<path and filename of your msi>\""
                                      ^^                               ^^
fretje
fuente
relacionado: serverfault.com/questions/19341/…
hyperslug
Ah, gracias, no había verificado el defecto del servidor. @fretje: Gracias, sin embargo, recibí un mensaje de error que indica que msiexec no pudo abrir el archivo msi. Parece que necesita especificar la ruta completa al archivo msi. El directorio actual desde el que se ejecuta runas no se pasa al comando que se está ejecutando, en este caso msiexec (lo cual tiene sentido).
Tim Pietzcker
Parece que también debería poder usarlo msiexec /a package.msi: vea la msiexecpágina en TechNet (que dice que es para Server 2003, pero parece idéntico al contenido de la página correspondiente en el sistema de ayuda de XP).
SamB
@SamB: instalación administrativa simplemente significa instalar una imagen de una fuente de instalación local en la red desde donde otros pueden instalar la aplicación en su máquina (en lugar de usar un CD-ROM). El usuario puede elegir ejecutar desde la fuente cuando instala y el instalador usa la mayoría de los archivos del producto directamente desde la red. Entonces esto no es lo que significa el OP (ejecutar como administrador).
fretje
@fretje: Oh ... eso es confuso!
SamB
6

Siempre puede abrir un símbolo del sistema como administrador (haga clic con el botón derecho en runas o inicio-> run-> runas / user: administrador cmd), cambie al directorio donde existe su MSI y ejecute msiexec / i product.msi

O agregue esto a su registro: HKEY_CLASSES_ROOT \ Msi.Package \ shell \ runas \ command Valores: Instalar y como ... HKEY_CLASSES_ROOT \ Msi.Package \ shell \ runas \ command Valor: msiexec / i "% 1"

Sam
fuente
0

Echa un vistazo runasdesde la línea de comandos. Puede iniciar cualquier cosa bajo la cuenta especificada.

Ricardo
fuente