从用户帐户以管理员身份运行MSI文件


18

我通常以Windows XP机器上的普通用户身份登录。有时,当我想安装软件更新时,我不想注销并以admin身份再次登录,但是我右键单击安装程序exe并选择“以...运行”,以从我的admin帐户运行它。但是,此选项似乎仅存在于exe文件中,而不存在于msi文件中。

有没有一种方法可以使msi文件在其他帐户下运行?还是出于某些原因不建议这样做?


只需从提升的命令提示符下启动MSI文件的安装(右键单击cmd.exe,然后选择“以管理员身份运行”)。使用类似以下命令的命令行进行安装:(msiexec.exe /I "MyFile.msi" /QN /L*V "C:\msilog.log"根据需要更新路径)。Runas应该可以正常运行,我只是发现一个提升权限的命令提示符更容易。
SteinÅsmul'9

Answers:


24

.msi文件可以使用msiexec.exe执行,因此结合runas命令,您可以完成所需的操作:

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

由于建议使用文件的完整路径,因此可能需要在文件名两边加上引号,然后用反斜杠将其转义\

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


谢谢,还没有检查serverfault。@fretje:谢谢,但是我首先收到一条错误消息,表明msiexec无法打开msi文件。看来您需要指定msi文件的完整路径。运行runas的当前目录不会传递给正在运行的命令,在本例中为msiexec(这很有意义)。
Tim Pietzcker,2009年

看来您也应该可以使用msiexec /a package.msi-参见TechNet上msiexec页面(该页面用于Server 2003,但看起来与XP帮助系统中相应页面的内容相同)。
SamB 2010年

@SamB:管理员安装仅意味着在网络上本地安装installsource的映像,然后其他人可以从该映像在其计算机上安装该应用程序(而不是使用CD-ROM)。然后,用户可以在安装时选择从源代码运行,并且安装程序直接从网络使用产品的大多数文件。因此,这不是OP的含义(以管理员身份运行)。
fretje

@fretje:哦,真令人困惑!
SamB

6

您始终可以以管理员身份打开命令提示符(右键单击runas或start-> run-> runas / user:administrator cmd),更改为MSI所在的目录,然后执行msiexec / i product.msi

或将其添加到您的寄存器中:HKEY_CLASSES_ROOT \ Msi.Package \ shell \ runas \ command值:安装&as ... HKEY_CLASSES_ROOT \ Msi.Package \ shell \ runas \ command值:msiexec / i“%1”


0

runas从命令行看一下。您可以在指定帐户下启动任何内容。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.