Запуск MSI-файлов от имени администратора из учетной записи пользователя

57669
Tim Pietzcker

Я обычно вошел в систему как обычный пользователь на моем компьютере с Windows XP. Иногда, когда я хочу установить обновление программного обеспечения, я не хочу выходить из системы и снова входить в систему как администратор, но я щелкаю правой кнопкой мыши на exe программы установки и выбираю «Запуск от имени…», чтобы запустить его из своей учетной записи администратора., Однако эта опция существует только для exe-файлов, а не для msi-файлов.

Есть ли способ заставить файлы MSI работать под другой учетной записью? Или это не рекомендуется по какой-то причине?

18
** Просто запустите установку MSI-файла из командной строки с повышенными привилегиями ** (щелкните правой кнопкой мыши ** cmd.exe ** и выберите «Запуск от имени администратора»). Установите с помощью командной строки что-то вроде этого: `` msiexec.exe / I "MyFile.msi" / QN / L * V "C: \ msilog.log" `` (при необходимости обновите пути). Руны должны работать хорошо, я просто нахожу командную строку с повышенными правами проще. Stein Åsmul 6 лет назад 0

3 ответа на вопрос

24
fretje

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>\"" ^^ ^^ 
связанные: http://serverfault.com/questions/19341/how-do-i-run-a-msi-installer-with-elevated-priviledges-on-windows hyperslug 14 лет назад 0
Ах, спасибо, не проверил ошибку сервера. @fretje: Спасибо, однако я сначала получил сообщение об ошибке, что msiexec не может открыть файл MSI. Похоже, вам нужно указать полный путь к MSI-файлу. Текущий каталог, из которого запускается runas, не передается выполняемой команде, в данном случае msiexec (что имеет смысл). Tim Pietzcker 14 лет назад 0
@Tim: Хорошо, спасибо, обновил ответ. fretje 14 лет назад 0
Похоже, вы также должны иметь возможность просто использовать `msiexec / a package.msi` - см. [Страницу` msiexec` на TechNet] (http://technet.microsoft.com/en-us/library/cc759262. aspx # BKMK_UseAdmin) (который говорит, что он для Server 2003, но выглядит идентично содержимому соответствующей страницы в справочной системе XP). SamB 13 лет назад 0
@SamB: [Административная установка] (http://msdn.microsoft.com/en-us/library/aa367541 (v = vs.85) .aspx) просто означает установку образа локального источника установки в сети, откуда другие затем можете установить приложение на свой компьютер (вместо использования CD-ROM). Затем пользователь может выбрать запуск из источника при установке, и установщик использует большинство файлов продукта напрямую из сети. Так что это не то, что означает OP (запуск от имени администратора). fretje 12 лет назад 0
@fretje: Ох ... это сбивает с толку! SamB 12 лет назад 0
6
Sam

Вы всегда можете открыть командную строку от имени администратора (либо щелкнуть правой кнопкой мыши runas, либо запустить-> 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
Richard

Взгляните на runasиз командной строки. Вы можете запустить что-нибудь под указанной учетной записью.

Похожие вопросы