Em um prompt de comando:
msiexec /?
Exibe a versão na primeira linha. EG: Instalador do Windows ®. V 3.01.4000.1823
Eu tenho um servidor de produção e preciso saber qual versão do instalador do Windows está sendo executada, o que é uma maneira rápida de descobrir isso sem executar o instalador 4.5 no servidor?
Você precisa obter a versão do MSI.dll.
=== EDIT: Por alguma razão eu li isso como você precisa fazer isso de uma maneira scriptable. msiexec /? É claro que é uma maneira mais rápida de fazer isso se você precisar apenas verificá-lo manualmente. ===
Você pode fazer isso com o VBScript.
Crie um arquivo como este chamado VersionInfo.vbs:
set args = WScript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")
WScript.Echo fso.GetFileVersion(args(0))
Wscript.Quit
Em seguida, chame como:
cscript //nologo VersionInfo.vbs %windir%\system32\msi.dll
OBSERVAÇÃO: o script foi extraído de aqui .
Ou, se você quiser ser esperto, crie um arquivo .VBS, cole o seguinte nele e clique duas vezes nele:
set installer = createobject("windowsinstaller.installer")
msgbox installer.version
Obtenha as informações usando o Powershell:
get-item $ env: windir \ system32 \ msi.dll | fl
para o caminho mais curto do cheque; logo após clicar no menu iniciar, escolha caixa de execução e digite msiexec lá, então ele irá aparecer uma janela do instalador do windows com instruções e o número da versão no cabeçalho ...