Que maneira segura de detectar componentes instalados do Microsoft Office?
-
13-12-2019 - |
Pergunta
Eu estou procurando a maneira mais segura de detectar quais componentes do Microsoft Office, se houver, são instalados em uma determinada estação de trabalho.Eu percebo que isso pode ser visto como uma pergunta para o serverfault também, mas desde que eu vou usar isso em um roteiro e muitas pessoas aqui estão mais familiarizadas com o funcionamento interior do escritório, eu pensei que este seria o melhor lugar para perguntar.
Eu olhei para a tecla de desinstalação, mas mostra componentes que realmente não existem no sistema.Eu acredito que isso tem a ver com a maneira como o Office pode instalar um componente no primeiro acesso.Eu não gosto de procurar executáveis como o caminho pode mudar teoricamente.
Solução
Eu acabei testando para chaves de registro específicas, levando em conta as diferenças entre as instalações de 32 e 64 bits.Estou prestando atenção às seguintes localizações / valores de registro:
-
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\
- a tecla Base Office12 em uma instalação de 64 bits -
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\
-The Base Office12 Localização em uma instalação de 32 bits -
Office base path
\Outlook\InstallRoot\Path
-chave significando caminho de instalação do Outlook -
Office base path
\Registration\{90120000-0012-0000-0000-0000000FF1CE}
-chave para o Office 12 GUID padrão -
Office base path
\Registration\{90120000-0011-0000-0000-0000000FF1CE}
-chave para o Office 12 Professional Plus GUID
Com estes locais, consegui:
- .
- detecta se o escritório está instalado.
- Detecte a versão do Office que está instalada.
- detectar se o Outlook está instalado.
Eu não tentei mais granular do que isso.
Outras dicas
Se você realmente acha que não pode confiar em caminhos para o EXE ou DLL's, eu iria differer o registro (muitas ferramentas para isso) de antes e depois de instantâneos de instalar os vários componentes.Na minha experiência, no entanto, acho que é necessário testar a existência de DLLs e outros arquivos para detectar componentes instalados para o Office (tive que testar para DLLs VBA para detectar a presença do módulo do Visual Basic instalado, por exemplo).Os caminhos de arquivos só podem mudar muito.Você só precisa estar ciente de remendos de 32 e 64 bits, e WinXP e Win7 Pathing.