Office 애플리케이션의 설치 경로를 찾는 방법
요약
이 문서에서는 Windows Installer를 사용하여 Microsoft Office 애플리케이션의 설치 경로를 찾는 방법을 보여 줍니다.
추가 정보
2000보다 큰 Microsoft Office 버전은 설치 시 바로 가기 링크에 경로 정보를 포함하지 않습니다. 이 작업은 "처음 사용할 때 실행" 옵션을 사용할 수 있도록 수행됩니다. 이 옵션을 사용하면 바로 가기가 표시되지만 애플리케이션은 하드 디스크에 설치되지 않습니다. 처음으로 바로 가기를 클릭하면 애플리케이션이 설치됩니다.
Windows Installer를 사용하여 설치된 Office 2000 애플리케이션의 경로를 가져올 수 있습니다. 아래에 제공된 단계에 따라 설치된 Office 애플리케이션의 디렉터리를 보고하는 콘솔 애플리케이션을 만듭니다.
샘플 빌드
Visual C++에서 빈 콘솔 애플리케이션을 만듭니다.
main.cpp라는 새 파일을 만들고 코드 창에 다음 코드를 붙여넣습니다.
#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; }
프로젝트 메뉴를 클릭한 다음 설정을 클릭하여 프로젝트 설정 대화 상자를 표시합니다.
링크 탭을 클릭하고 개체/라이브러리 모듈 목록에 msi.lib를 추가합니다.
프로그램을 실행합니다. Microsoft Word가 설치된 파일 경로가 표시됩니다.
참고
코드에는 Word, Excel, PowerPoint 및 Access와 연결된 GUIDS가 포함되어 있습니다. 다른 Office 응용 프로그램의 경로를 찾으려면 애플리케이션의 이름을 MsiGetComponentPath 함수의 두 번째 매개 변수로 전달합니다.
Office XP 애플리케이션의 경로를 찾으려면 위의 상수는 다음으로 바꿉니다.
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}";
Office 2003 애플리케이션의 경로를 찾으려면 위의 상수는 다음으로 바꿉니다.
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}";
2007 Office 응용 프로그램의 경로를 찾으려면 위의 상수는 다음으로 바꿉니다.
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}";
32비트 Office 2010 애플리케이션의 경로를 찾으려면 위의 상수들을 다음으로 바꿉니다.
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}";
64비트 Office 2010 애플리케이션의 경로를 찾으려면 위의 상수로 다음으로 바꿉니다.
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}";