當(dāng)前位置: 首頁IT技術(shù) → 精彩圖文教你輕松安裝Office 2003 主 Interop 程序集

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

更多

安裝 Office 2003 之前,在安裝 .net framework 1.1 時(shí)獲取 Office 2003 PIA

要在安裝 microsoft Office 2003 時(shí)獲取 Office PIA,您必須首先安裝 Microsoft .NET Framework 版本 1.1。如果在安裝 Office 2003 之前未安裝 .NET Framework 1.1,則 PIA 不會(huì)隨 Office 2003 安裝進(jìn)行安裝。

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

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

圖 1. Office 2003 安裝中的 .NET Programmability Support 選項(xiàng)

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

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

要修改 Office 2003 安裝

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

圖 2. 修改 Office 2003 安裝程序

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

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

圖 3. 選擇 .NET Programmability Support 的更新選項(xiàng)

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

單擊 Update。

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

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

圖 4. Office Tools 節(jié)點(diǎn) .NET Programmability Support 選項(xiàng)

返回頁首

安裝 Office 2003 PIA

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

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

Stdole.dll

Adodb.dll

Msdatasrc.dll

Microsoft.Vbe.Interop.dll

Office.dll

如果具備了 Microsoft access 或 Microsoft Office Web Components 2003,則默認(rèn)情況下,還安裝有 Mscomctl.dll PIA。

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

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

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

查找 Office 2003 PIA 安裝位置

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

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

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

返回頁首

使用 Office 2003 PIA

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

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

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

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

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

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

單擊 COM 選項(xiàng)卡。

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

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

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

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

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

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

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

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

驗(yàn)證對(duì) Office 2003 PIA 的引用

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

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

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

如果 Properties 窗口中的 Copy Local 屬性被設(shè)置為 True,那么您的解決方案引用的不是智能標(biāo)記 PIA,而是 interop 程序集。因?yàn)樽罴褜?shí)踐使用正式的 PIA,所以您應(yīng)當(dāng)移除 interop 程序集并再次引用 PIA。要移除某個(gè) interop 程序集,請(qǐng)?jiān)?References 節(jié)點(diǎn)中,右鍵單擊該 interop 程序集名并單擊 Remove。

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

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

PIA 和 Interop 程序集之間的差異

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

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

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

重新安裝受影響的 PIA。要進(jìn)行此操作,請(qǐng)重新運(yùn)行 Office安裝(請(qǐng)參閱安裝 Office 2003 之后,在安裝 .NET Framework 1.1 時(shí)獲取 Office 2003 PIA)。

從全局程序集緩存中,在受影響的 PIA 上運(yùn)行 RegAsm 工具以對(duì)其重新進(jìn)行注冊(cè)。例如,在 Office PIA(該 Office PIA 命名空間是 Microsoft.Office.Core)上運(yùn)行 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)上運(yùn)行 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)上運(yùn)行 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)上運(yùn)行 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)當(dāng)是唯一的 Office 2003 PIA 提供機(jī)制。可以通過完全、典型或自定義安裝將 Office 2003 PIA 自動(dòng)安裝至全局程序集緩存或根據(jù)需要安裝在最終用戶計(jì)算機(jī)上。

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

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

注 Microsoft Visual Studio .NET 和 Microsoft Visual Studio .NET 2003 安裝項(xiàng)目通常自動(dòng)在安裝程序包中包含一些 PIA。您必須確保最終用戶計(jì)算機(jī)上的安裝程序包不包含 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 所示。與對(duì)待所有 Office 2003 PIA 一樣,不應(yīng)將其重新發(fā)布。有關(guān)為何不應(yīng)重新發(fā)布包含在 Office 2003 中的 PIA 的詳細(xì)信息,請(qǐng)參閱避免重新發(fā)布 Office 2003 PIA。

使用 Office XP PIA 和 Office 2003 PIA

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

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

返回頁首

其他資源

對(duì)于有興趣詳細(xì)了解利用托管代碼為 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 知識(shí)庫(kù)文章: 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 知識(shí)庫(kù)文章: 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

更多精彩內(nèi)容請(qǐng)點(diǎn)擊

office

專題
熱門評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)