Executar arquivos MSI como administrador a partir de uma conta de usuário

18

Normalmente, estou logado como usuário normal na minha caixa do Windows XP. Às vezes, quando quero instalar uma atualização de software, não quero fazer logoff e logon novamente como administrador, mas clico com o botão direito do mouse no exe do instalador e escolho "Executar como ..." para executá-lo na minha conta de administrador . No entanto, essa opção parece existir apenas para arquivos exe, não para arquivos msi.

Existe uma maneira de fazer com que os arquivos msi sejam executados em uma conta diferente? Ou isso não é aconselhável por algum motivo?

Tim Pietzcker
fonte
Basta iniciar a instalação do arquivo MSI em um prompt de comando elevado (clique com o botão direito do mouse em cmd.exe e selecione "executar como administrador"). Instale com uma linha de comando, algo como isto: msiexec.exe /I "MyFile.msi" /QN /L*V "C:\msilog.log"(atualize os caminhos conforme apropriado). As runas devem funcionar bem, apenas acho mais fácil um prompt de comando elevado.
Stein Åsmul

Respostas:

24

Os arquivos .msi podem ser executados com o msiexec.exe; portanto, em combinação com o comando runas , você pode realizar o que deseja:

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

Como um caminho completo para o arquivo é recomendado, ele pode precisar de aspas e ser necessário escapá-las com uma barra invertida \:

runas /user:administrator "msiexec /i \"<path and filename of your msi>\""
                                      ^^                               ^^
fretje
fonte
relacionado: serverfault.com/questions/19341/… #
hyperslug
Ah, obrigado, não tinha verificado a falha do servidor. @ fretje: Obrigado, no entanto, recebi uma mensagem de erro informando que o msiexec não pôde abrir o arquivo msi. Parece que você precisa especificar o caminho inteiro para o arquivo msi. O diretório atual do qual runas é executado não é passado para o comando que está sendo executado, neste caso msiexec (o que faz sentido).
Tim Pietzcker 13/08/2009
Parece que você também deve poder usar msiexec /a package.msi- consulte a msiexecpágina no TechNet (que diz ser do Server 2003, mas parece idêntica ao conteúdo da página correspondente no sistema de ajuda do XP).
SamB
@ SamB: Instalação administrativa significa apenas instalar uma imagem de um local de origem da instalação na rede, de onde outras pessoas podem instalar o aplicativo em sua máquina (em vez de usar um CD-ROM). O usuário pode optar por executar a partir da fonte quando instala e o instalador usa a maioria dos arquivos do produto diretamente da rede. Portanto, não é isso que significa o OP (execute como administrador).
fretje
@ fretje: Oh ... isso é confuso!
SamB 19/05
6

Você sempre pode abrir um prompt de comando como administrador (clique com o botão direito do mouse em runas ou inicie-> executar-> runas / usuário: cmd do administrador), mude para o diretório em que seu MSI existe e execute msiexec / i product.msi

Ou adicione isto ao seu registro: HKEY_CLASSES_ROOT \ Msi.Package \ shell \ runas \ command Valores: Instalar e como ... HKEY_CLASSES_ROOT \ Msi.Package \ shell \ runas \ command Valor: msiexec / i "% 1"

Sam
fonte
0

Dê uma olhada na runaslinha de comando. Você pode iniciar qualquer coisa na conta especificada.

Richard
fonte