Come trovare il percorso di installazione di un'applicazione di Office

Riepilogo

Questo articolo illustra come usare Windows Installer per trovare il percorso di installazione delle applicazioni di Microsoft Office.

Ulteriori informazioni

Le versioni di Microsoft Office maggiori di 2000 non includono le informazioni sul percorso nei collegamenti di collegamento al momento dell'installazione. Questa operazione viene eseguita in modo che sia possibile usare l'opzione "Esegui al primo utilizzo". Quando si usa questa opzione, verranno visualizzati i collegamenti, ma le applicazioni non verranno installate nel disco rigido. Quando si fa clic sul collegamento per la prima volta, le applicazioni verranno installate.

È possibile usare Windows Installer per ottenere il percorso dell'applicazione Office 2000 installata. Seguire i passaggi descritti di seguito per creare un'applicazione console che segnala la directory di un'applicazione di Office installata.

Compilazione dell'esempio

  1. Creare un'applicazione console vuota in Visual C++.

  2. Creare un nuovo file denominato main.cpp e incollare il codice seguente nella finestra del codice.

    #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;
    }
    
  3. Fare clic sul menu Progetto e quindi su Impostazioni per visualizzare la finestra di dialogo Impostazioni progetto.

  4. Fare clic sulla scheda Collegamento e aggiungere msi.lib nell'elenco dei moduli object/library.

  5. Eseguire il programma. Verrà visualizzato il percorso del file in cui è installato Microsoft Word.

Nota

Nel codice sono inclusi i GUID associati a Word, Excel, PowerPoint e Access. Per trovare il percorso di un'altra applicazione di Office, passare il nome dell'applicazione come secondo parametro della funzione MsiGetComponentPath.

Per trovare il percorso di un'applicazione di Office XP, sostituire le costanti precedenti con le seguenti.

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}";

Per trovare il percorso di un'applicazione di Office 2003, sostituire le costanti precedenti con le seguenti.

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}";

Per trovare il percorso di un'applicazione di Office 2007, sostituire le costanti precedenti con le seguenti.

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}";

Per trovare il percorso di un'applicazione di Office 2010 a 32 bit, sostituire le costanti precedenti con le seguenti.

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}";

Per trovare il percorso di un'applicazione di Office 2010 a 64 bit, sostituire le costanti precedenti con le seguenti.

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}";