本文將告訴您,如何使用 Windows 「 安裝程式找不到安裝路徑的 Microsoft Office 應用程式。
版本的 Microsoft Office 大於 2000年不要在快顯連結時安裝中包含路徑資訊。這是完成,這樣可以使用 「 在第一次的使用執行 」 選項。使用此選項時,捷徑會出現,但應用程式將不安裝硬碟上。您第一次按捷徑,將會安裝應用程式。
您可以使用 「 Windows 安裝程式以取得已安裝的 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 = MsiGetComponentPath(
Office,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 和存取相關聯的 GUID。若要找不到路徑為另一個 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}";
您可以下載包含 MSI.LIB 的檔案從 Windows 安裝程式 SDK:
如需有關 Office 自動化的詳細資訊,請參閱 Microsoft Office 程式開發的支援網站,在:
文章編號: 234788 - 上次校閱: 2007年8月13日 - 版次: 7.3
這篇文章中的資訊適用於:
- Microsoft Office Access 2007
- Microsoft Office Excel 2007
- Microsoft Office PowerPoint 2007
- Microsoft Office Word 2007
- Microsoft Office Access 2003
- Microsoft Office Excel 2003
- Microsoft Office PowerPoint 2003
- Microsoft Office Word 2003
- Microsoft Access 2002 Standard Edition
- Microsoft Excel 2002 Standard Edition
- Microsoft PowerPoint 2002 Standard Edition
- Microsoft Word 2002 Standard Edition
- Microsoft Access 2000 Standard Edition
- Microsoft Excel 2000 Standard Edition
- Microsoft PowerPoint 2000 Standard Edition
- Microsoft Word 2000 Standard Edition
| kbmt kbhowto KB234788 KbMtzh |
機器翻譯重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:
234788
(http://support.microsoft.com/kb/234788/en-us/
)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。