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.

Foi útil?

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:

    .
  1. detecta se o escritório está instalado.
  2. Detecte a versão do Office que está instalada.
  3. detectar se o Outlook está instalado.
  4. 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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top