Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Resumo
Este artigo demonstra como usar o Windows Installer para localizar o caminho de instalação dos aplicativos do Microsoft Office.
Informações adicionais
As versões do Microsoft Office maiores que 2000 não incluem informações de caminho nos links de atalho quando instaladas. Isso é feito para que a opção "Executar no Primeiro Uso" possa ser usada. Quando essa opção for usada, os atalhos serão exibidos, mas os aplicativos não serão instalados no disco rígido. Quando você clicar no atalho pela primeira vez, os aplicativos serão instalados.
Você pode usar o Windows Installer para obter o caminho do aplicativo do Office 2000 instalado. Siga as etapas abaixo para criar um aplicativo de console que relata o diretório de um aplicativo do Office instalado.
Compilando o exemplo
Crie um aplicativo de console em branco no Visual C++.
Crie um novo arquivo chamado main.cpp e cole o código a seguir na janela de código.
#include <windows.h> #include <msi.h> #include <ostream.h> const char *Word = "{CC29E963-7BC2-11D1-A921-00A0C91E2AA2}"; const char *Excel = "{CC29E96F-7BC2-11D1-A921-00A0C91E2AA2}"; const char *PowerPoint = "{CC29E94B-7BC2-11D1-A921-00A0C91E2AA2}"; const char *Access = "{CC29E967-7BC2-11D1-A921-00A0C91E2AA2}"; const char *Office = "{00000409-78E1-11D2-B60F-006097C998E7}"; int main(void) { DWORD size = 300; INSTALLSTATE installstate; char *sPath; sPath = new char[size]; installstate = MsiLocateComponent(Word,sPath,&size); if ((installstate == INSTALLSTATE_LOCAL) || (installstate == INSTALLSTATE_SOURCE)) cout << "Installed in: " << sPath << endl; delete sPath; return 0; }
Clique no menu Projeto e clique em Configurações para abrir a caixa de diálogo configurações do projeto.
Clique na guia Link e adicione msi.lib na lista de módulos de objeto/biblioteca.
Execute o programa. Ele exibirá o caminho do arquivo em que o Microsoft Word está instalado.
Observação
Incluídos no código estão os GUIDS associados ao Word, Excel, PowerPoint e Access. Para localizar o caminho para outro aplicativo do Office, passe o nome do aplicativo como o segundo parâmetro da função MsiGetComponentPath.
Para localizar o caminho de um aplicativo do Office XP, substitua as constantes acima pelo seguinte.
const char *Word = "{8E46FEFA-D973-6294-B305-E968CEDFFCB9}";
const char *Excel = "{5572D282-F5E5-11D3-A8E8-0060083FD8D3}";
const char *PowerPoint = "{FC780C4C-F066-40E0-B720-DA0F779B81A9}";
const char *Access = "{CC29E967-7BC2-11D1-A921-00A0C91E2AA3}";
const char *Office = "{20280409-6000-11D3-8CFE-0050048383C9}";
Para localizar o caminho de um aplicativo do Office 2003, substitua as constantes acima pelo seguinte.
const char *Word = "{1EBDE4BC-9A51-4630-B541-2561FA45CCC5}";
const char *Excel = "{A2B280D4-20FB-4720-99F7-40C09FBCE10A}";
const char *PowerPoint = "{C86C0B92-63C0-4E35-8605-281275C21F97}";
const char *Access = "{F2D782F8-6B14-4FA4-8FBA-565CDDB9B2A8}";
const char *Office = "{90110409-6000-11D3-8CFE-0150048383C9}";
Para localizar o caminho de um aplicativo do Office 2007, substitua as constantes acima pelo seguinte.
const char *Word = "{0638C49D-BB8B-4CD1-B191-051E8F325736}";
const char *Excel = "{0638C49D-BB8B-4CD1-B191-052E8F325736}";
const char *PowerPoint = "{0638C49D-BB8B-4CD1-B191-053E8F325736}";
const char *Access = "{0638C49D-BB8B-4CD1-B191-054E8F325736}";
const char *Office = "{0638C49D-BB8B-4CD1-B191-050E8F325736}";
Para localizar o caminho de um aplicativo do Office 2010 de 32 bits, substitua as constantes acima pelo seguinte.
const char *Word = "{019C826E-445A-4649-A5B0-0BF08FCC4EEE}";
const char *Excel = "{538F6C89-2AD5-4006-8154-C6670774E980}";
const char *PowerPoint = "{E72E0D20-0D63-438B-BC71-92AB9F9E8B54}";
const char *Access = "{AE393348-E564-4894-B8C5-EBBC5E72EFC6}";
const char *Office = "{398E906A-826B-48DD-9791-549C649CACE5}";
Para localizar o caminho de um aplicativo do Office 2010 de 64 bits, substitua as constantes acima pelo seguinte.
const char *Word = "{C0AC079D-A84B-4CBD-8DBA-F1BB44146899}";
const char *Excel = "{8B1BF0B4-A1CA-4656-AA46-D11C50BC55A4}";
const char *PowerPoint = "{EE8D8E0A-D905-401D-9BC3-0D20156D5E30}";
const char *Access = "{02F5CBEC-E7B5-4FC1-BD72-6043152BD1D4}";
const char *Office = "{E6AC97ED-6651-4C00-A8FE-790DB0485859}";