當前位置:首頁文章首頁 IT學(xué)院 IT技術(shù)

精彩圖文教你輕松安裝Office 2003 主 Interop 程序集

作者:  來源:  發(fā)布時間:2011-5-19 11:23:35  點擊:

安裝 Office 2003 之前,在安裝 .NET Framework 1.1 時獲取 Office 2003 PIA

要在安裝 Microsoft Office 2003 時獲取 Office PIA,您必須首先安裝 Microsoft .NET Framework 版本 1.1。如果在安裝 Office 2003 之前未安裝 .NET Framework 1.1,則 PIA 不會隨 Office 2003 安裝進行安裝。

如果在安裝了 Office 2003 之后安裝 .NET Framework 1.1,則仍然可以通過遵循安裝 Office 2003 之后,在安裝 .NET Framework 1.1 時獲取 Office 2003 PIA中概述的步驟來安裝 PIA。

如果在安裝 Office 2003 之前沒有安裝 .NET Framework 1.1,則安裝 PIA 的選項不會顯示在 Office 的自定義安裝中。如果首先安裝 .NET Framework 1.1,您會在自定義安裝中看見選項列表中的 .NET Programmability Support 可用,如圖 1 所示。

圖 1. Office 2003 安裝中的 .NET Programmability Support 選項

安裝 Office 2003 之后,在安裝 .NET Framework 1.1 時獲取 Office 2003 PIA

如果在安裝 Microsoft Office 2003 之后安裝 Microsoft .NET Framework 版本 1.1,則要獲取 PIA,您必須修改您的 Office 安裝

要修改 Office 2003 安裝

在 Microsoft Office 2003 Setup 對話框的 Maintenance Mode Options 屏幕中,選擇 Add or Remove Features,如圖 2 所示,單擊 Next。

圖 2. 修改 Office 2003 安裝程序

選擇 Choose advanced customization of applications 復(fù)選框并單擊 Next。

展開特定于應(yīng)用程序的節(jié)點。例如,要獲取 Microsoft Office Excel 2003 PIA,請展開 Microsoft Office Excel 節(jié)點并選擇 .NET Programmability Support。單擊 .NET Programmability Support 旁邊的下拉箭頭以選擇更新選項,并選取 Run from My Computer,如圖 3 所示。請勿選擇 Installed on First Use。

圖 3. 選擇 .NET Programmability Support 的更新選項

注 選擇 Run from My Computer 意味著您希望將當前選定功能(例如 .NET Programmability Support)安裝并存儲在硬盤上。選擇 Run all from My Computer 意味著您希望將當前選定功能及其所有子功能都安裝并存儲在硬盤上。.NET Programmability Support 功能沒有子功能,因此無論選擇 Run from My Computer 還是 Run all from My Computer,都會得到相同的結(jié)果。選擇 Installed on First Use 意味著您只希望在首次使用 .NET Programmability Support 功能時,將其安裝在硬盤上。在這種情形中,您或許需要用訪問用于安裝 Office 2003 的光盤或網(wǎng)絡(luò)服務(wù)器,以安裝 .NET Programmability Support 功能。

單擊 Update。

要安裝其他特定于 Office 2003 應(yīng)用程序的 PIA,請展開應(yīng)用程序節(jié)點并選擇 .NET Programmability Support。

要安裝 Smart Tag .NET Programmability Support、Microsoft Forms 2.0 .NET Programmability Support 或 Microsoft Graph .NET Programmability Support,請展開 Office Tools 節(jié)點,并選擇適當?shù)?.NET Programmability Support,如圖 4 所示。如果是在開發(fā)計算機上進行安裝,請再次確保選擇了 Run from My Computer 。請勿選擇 Installed on First Use。

圖 4. Office Tools 節(jié)點 .NET Programmability Support 選項

返回頁首

安裝 Office 2003 PIA

通過 Office 2003 的 “ 典型安裝”來安裝 PIA

如果已具備 Microsoft .NET Framework 版本 1.1,則默認情況下,Microsoft Office 2003 的典型安裝會安裝以下五個 PIA:

Stdole.dll

Adodb.dll

Msdatasrc.dll

Microsoft.Vbe.Interop.dll

Office.dll

如果具備了 Microsoft Access 或 Microsoft Office Web Components 2003,則默認情況下,還安裝有 Mscomctl.dll PIA。

通過 Office 2003 的“完全安裝”來安裝 PIA

如果采用完全安裝而不是典型安裝,則安裝 Microsoft Office 2003 時,PIA 會自動安裝到全局程序集緩存中。如果要在開發(fā)計算機上安裝 PIA,應(yīng)采用完全安裝。對于典型安裝,可根據(jù)需要來安裝 PIA。

注 在開發(fā)計算機上,如果需要 PIA,則不應(yīng)采用 Office 2003 的典型安裝。這是存在于 Microsoft Visual Studio .NET 和 Microsoft Visual Studio .NET 2003 中的一個問題,該問題會導(dǎo)致創(chuàng)建一個 Visual Studio£?即在引用其 PIA 被設(shè)置為按需安裝的 COM 對象時,會生成 interop 程序集。要避免這個問題,請確保在開始任何開發(fā)工作之前,希望引用的 Office 2003 PIA 安裝在全局程序集緩存中。對于不會用于開發(fā)工作的計算機,對 Office 2003 進行典型安裝是完全可以的。自定義 Office 的安裝步驟安裝 Office 2003 之后,在安裝 .NET Framework 1.1 時獲取 Office 2003 PIA 中所述相同。

查找 Office 2003 PIA 安裝位置

Microsoft Office 2003 主 Interop 程序集 (PIA) 安裝在 drive:/WINDOWS/assembly 或 drive:/WINNT/assembly 中的全局程序集緩存中。

例如,如果 Microsoft Office Excel 2003 PIA 安裝在全局程序集緩存中,您會在全局程序集緩存中看到該全局程序集名 Microsoft.Office.Interop.Excel,版本為 11.0.0.0,公鑰標記為 71e9bce111e9429c,如圖 5 所示。如果您看不到這些信息,那么該 Excel PIA 未被安裝。

圖 5. 安裝在全局程序集緩存中的 Office 2003 PIA

返回頁首

使用 Office 2003 PIA

引用 Office 2003 托管代碼 — 類型 PIA

可以通過使用以下過程來引用一個或多個 Office 2003 PIA。

要引用 Office 2003 托管代碼 鈥 類型 PIA

打開 Microsoft Visual Studio .NET 或 Microsoft Visual Studio .NET 2003 中的托管代碼解決方案 (.sln) 文件。

在 Solution Explorer 窗口中,展開 References 節(jié)點。

右鍵單擊 References, Add References 以打開 Add reference 對話框,如圖 6 所示。

單擊 COM 選項卡。

圖 6. COM 選項卡處于選中狀態(tài)的 Add Reference 對話框

在 Component Name 列表中,下滾至需要引用的對象類型庫。例如,圖 6 中,選定了 Microsoft Office 11.0 Object Library。

突出顯示該組件并單擊 Select。您會看到它出現(xiàn)在該選項卡底部的 Selected Components 列表框中。

單擊 OK。您將看到 Microsoft.Office.Core 已添加至 Solution Explorer 中的 References 節(jié)點, 如圖 7 所示。

圖 7. 添加至 References 的 Microsoft.Office.Core PIA

如果突出顯示 Microsoft.Office.Core 引用并在 Properties 窗口中查看其屬性,則 Copy Local 屬性應(yīng)被設(shè)置為 False。Path 屬性應(yīng)指向其在全局程序集緩存中的位置,并應(yīng)包括其版本號:11.0.0.0。在 Microsoft Windows XP 操作系統(tǒng)中,它看起來類似于如下所示:

C:\WINDOWS\assembly\GAC\office\11.0.0.0 71e9bce111e9429c\office.dll

要向其他 Office 2003 類型庫添加引用,請重復(fù)步驟 3 到步驟 7。在步驟 5 中,選擇希望引用的應(yīng)用程序或組件對象類型庫。

驗證對 Office 2003 PIA 的引用

要知道是否正確地引用了 PIA,請確保該 PIA 的 Copy Local 屬性被設(shè)置為 False。在 Windows XP 操作系統(tǒng)中,例如,如果要引用 Microsoft Office 2003 Smart Tag PIA,則 Path 屬性應(yīng)當如下顯示:

C:\WINDOWS\assembly\GAC\Microsoft.Office.Interop.SmartTag\

11.0.0.0 71e9bce111e9429c\Microsoft.Office.Interop.SmartTag.dll

如果 Properties 窗口中的 Copy Local 屬性被設(shè)置為 True,那么您的解決方案引用的不是智能標記 PIA,而是 interop 程序集。因為最佳實踐使用正式的 PIA,所以您應(yīng)當移除 interop 程序集并再次引用 PIA。要移除某個 interop 程序集,請在 References 節(jié)點中,右鍵單擊該 interop 程序集名并單擊 Remove。

注 僅當您選擇了 Run from My Computer 而不是 Installed on First Use 作為該 PIA 的更新選項或?qū)?Office 2003進行了完全安裝時,移除 interop 程序集并再次引用 PIA才會奏效。有關(guān)此注意事項的詳細信息,請參閱安裝 Office 2003 之后,在安裝 .NET Framework 1.1 時獲取 Office 2003 PIA。

如果您知道在全局程序集緩存中有 Office 2003 PIA£?但不知何故您不停地需要某個 interop 程序集而不是 PIA,這可能意味著某些類型庫注冊已損壞了該特定 PIA 注冊。要修復(fù) PIA 注冊問題,請參閱 PIA 與 Interop 程序集之間的差異。

PIA 和 Interop 程序集之間的差異

如果您可以在全局程序集緩存中看到 Microsoft Office 2003 PIA£?但不知何故,在您引用 Office 應(yīng)用程序或組件對象類型庫時不停地需要某個 interop 程序集而不是 PIA,這可能意味著某些其他類型庫注冊已損壞了該特定 PIA 注冊。要修復(fù)該 PIA 注冊,可以采用以下任意一個步驟:

注 您在嘗試使用以下各選項之前,應(yīng)當從 Microsoft Office 下載來安裝 Microsoft Office 2003 Service Pack 1。

執(zhí)行 Office 修復(fù)。

重新安裝受影響的 PIA。要進行此操作,請重新運行 Office安裝(請參閱安裝 Office 2003 之后,在安裝 .NET Framework 1.1 時獲取 Office 2003 PIA)。

從全局程序集緩存中,在受影響的 PIA 上運行 RegAsm 工具以對其重新進行注冊。例如,在 Office PIA(該 Office PIA 命名空間是 Microsoft.Office.Core)上運行 RegAsm,如下所示:

%systemroot%\Microsoft.NET\Framework\v1.1.4322\RegAsm.exe

%systemroot%\assembly\GAC\Office\11.0.0.0 71e9bce111e9429c\

Office.dll

要在 VBIDE PIA(該 VBIDE PIA 命名空間是 Microsoft.Vbe.Interop)上運行 RegAsm:

%systemroot%\Microsoft.NET\Framework\v1.1.4322\RegAsm.exe

%systemroot%\assembly\GAC\Microsoft.Vbe.Interop\

11.0.0.0 71e9bce111e9429c\Microsoft.Vbe.Interop.dll

要在 Microsoft Office Excel 2003 PIA(該 Excel PIA 命名空間是 Microsoft.Office.Interop.Excel)上運行 RegAsm:

%systemroot%\Microsoft.NET\Framework\v1.1.4322\RegAsm.exe

%systemroot%\assembly\GAC\Microsoft.Office.Interop.Excel\

11.0.0.0 71e9bce111e9429c\ Microsoft.Office.Interop.Excel.dll

要在 Microsoft Office 2003 Smart Tag PIA(該 Smart Tag PIA 命名空間是 Microsoft.Office.Interop.SmartTag)上運行 RegAsm:

%systemroot%\Microsoft.NET\Framework\v1.1.4322\RegAsm.exe

%systemroot%\assembly\GAC\Microsoft.Office.Interop.SmartTag\

11.0.0.0 71e9bce111e9429c\Microsoft.Office.Interop.SmartTag.dll

避免重新發(fā)布 Office 2003 PIAs

不應(yīng)用解決方案安裝程序包嘗試以任何方式重新發(fā)布 Microsoft Office 2003 PIA,Office 2003 應(yīng)當是唯一的 Office 2003 PIA 提供機制。可以通過完全、典型或自定義安裝將 Office 2003 PIA 自動安裝至全局程序集緩存或根據(jù)需要安裝在最終用戶計算機上。

請確保不要在安裝程序中包含 PIA?£在安裝項目中包含 Office 2003 PIA 可能會損壞最終用戶計算機上 Office 2003 所有權(quán)和 PIA 組件的注冊。這會導(dǎo)致在卸載期間,無意間將它們從最終用戶計算機上刪除。

例如,當用戶安裝安裝程序包時,打包在安裝程序中的 Office 2003 PIA 會改寫之前安裝的組件的注冊。當用戶卸載其解決方案時,那些 PIA 注冊可能會被損壞,從而使得最終用戶計算機不支持這些組件的 .NET 可編程能力。

注 Microsoft Visual Studio .NET 和 Microsoft Visual Studio .NET 2003 安裝項目通常自動在安裝程序包中包含一些 PIA。您必須確保最終用戶計算機上的安裝程序包不包含 Office 2003 PIA。

避免重新發(fā)布 Stdole.dll、Adodb.dll 以及 Msdatasrc.dll PIA

與 Microsoft Office XP 不同,Stdole.dll、Adodb.dll 以及 Msdatasrc.dll PIA 包含在 Microsoft Office 2003 中,如表 3 所示。與對待所有 Office 2003 PIA 一樣,不應(yīng)將其重新發(fā)布。有關(guān)為何不應(yīng)重新發(fā)布包含在 Office 2003 中的 PIA 的詳細信息,請參閱避免重新發(fā)布 Office 2003 PIA。

使用 Office XP PIA 和 Office 2003 PIA

PIA 特定于版本,因此應(yīng)當使用版本與應(yīng)用程序版本相同的 PIA。例如,如果您希望將自己的 Microsoft Office XP 托管代碼解決方案遷移到 Microsoft Office 2003,那么您應(yīng)當通過 Office 2003 PIA 重新編譯該 Office XP 托管代碼解決方案。

如果您打算在 Office XP 和 Office 2003 中使用同一個解決方案,那么還應(yīng)當具備兩個不同的安裝程序包,一個用于 Office XP,另一個用于 Office 2003?£Office XP 的 PIA 部署與 Office 2003 的完全不同。有關(guān)這些差異的詳細信息,請參閱 Office XP PIA 下載中包含的 ReadMe 文件。正如避免重新發(fā)布 Office 2003 PIA 中所強調(diào)的那樣,不應(yīng)嘗試那些意在重新部署 Office 2003 PIA 的解決方案部署方案。如果您的解決方案依賴于 Office 2003 PIA,則它應(yīng)當使用 Office 2003 來提供 PIA。

返回頁首

其他資源

對于有興趣詳細了解利用托管代碼為 icrosoft Office 2003 ??行編程、PIA 中由 Office 公開的接口和 co-class、類型信息等等的讀者,可以參閱以下書籍、文章和下載:

Microsoft .NET Development for Microsoft Office (Office/Progmng/Net)

Microsoft Office 2003 Service Pack 1 位于 Microsoft Office Downloads

Microsoft 知識庫文章: Information about designing Office XP add-ins and Office 2003 add-ins by using the .NET Framework

Primary Interop Assemblies (PIAs)

A Primer to the Office XP Primary Interop Assemblies

Working with the Office XP Primary Interop Assemblies

Office XP Primary Interop Assemblies Known Issues

Microsoft 知識庫文章: Microsoft Office XP Primary Interop Assemblies (PIAs) are available for download

Office XP Primary Interop Assemblies (PIAs) download

Coming to grips with the mess of types in the Office PIAs

Excel PIAs: Who you calling Dummy--Dummy?

Programming Microsoft Word 2002 and Excel 2002 with Microsoft Visual C#

Programming Office Applications Using Microsoft Visual C#

Understanding the Excel Object Model from a .NET Developer's Perspective

Understanding the Word Object Model from a .NET Developer's Perspective

An Introduction to Programming Outlook 2003 Using C#

Developing .NET Smart Clients for Microsoft Office XP

Introducing OfficeWiki.net - An experiment in community Office PIA documentation

Problems when a Method and Event name are the same when using C#

Isolating Office Extensions with the COM Shim Wizard

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z