如何:以编程方式更新应用程序清单程序集路径 (2003 System)
更新:2007 年 11 月
适用对象 |
---|
本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。 项目类型
Microsoft Office 版本
有关更多信息,请参见按应用程序和项目类型提供的功能。 |
可以使用 Visual Studio Tools for Office 运行时中的对象模型以编程方式更新嵌入到文档中的应用程序清单,该文档是文档级自定义项的一部分。
当更改程序集的路径时,必须创建新的应用程序清单并替换具有过时路径的应用程序清单。可以在程序集的路径中使用环境变量,如 %ProgramFiles% 或 %UserProfile%。
您必须将用于操作对象模型的代码放置在一个新项目(而非 Visual Studio Tools for Office 解决方案)中,例如控制台应用程序或 Windows 窗体项目。Visual Studio Tools for Office 包括一个示例,该示例演示如何创建可用于编辑嵌入的应用程序清单的工具。有关更多信息,请参见 ServerDocument 示例。
有另一个用于更新清单的模型,该模型会对服务器上的 XML 文件进行修改。有关更多信息,请参见 如何:更改文档级自定义项的位置 (2003 System)。
说明: |
---|
本主题不适用于应用程序级外接程序,因为它们不使用嵌入的应用程序清单。要更改外接程序程序集的路径,请使用文本编辑器更新客户端计算机上的应用程序清单。有关更多信息,请参见 Office 解决方案的应用程序清单 (2003 System)。有关应用程序级外接程序和文档级自定义项的更多信息,请参见 文档级自定义项的体系结构。 |
以编程方式更改程序集的路径
在您的对象模型操作项目中添加对 Microsoft.VisualStudio.Tools.Office.Runtime.v9.0 的引用(如果尚未添加)。
在代码文件的开头处添加 Imports 或 using 语句,引用该运行时。
Imports Microsoft.VisualStudio.Tools.Applications.Runtime
using Microsoft.VisualStudio.Tools.Applications.Runtime;
调用 ServerDocument 类的静态 AddCustomization 方法,然后传入需要的参数。您应首先调用 RemoveCustomization 方法从文档中移除所有现有 Visual Studio Tools for Office 自定义项,否则 AddCustomization 将引发 InvalidOperationException。
Dim solutionDocument As String = "C:\Documents\ExcelApplication.xls" Dim assemblyName As String = "ExcelApplication.dll" Dim manifestPath As String = "\\serversame\deployshare\ExcelApplication.application" Dim applicationVersion As String = "1.0.0.1" If ServerDocument.IsCustomized(solutionDocument) Then ServerDocument.RemoveCustomization(solutionDocument) End If ServerDocument.AddCustomization( _ solutionDocument, assemblyName, manifestPath, _ applicationVersion, False)
string solutionDocument = @"C:\Documents\ExcelApplication.xls"; string assemblyName = "ExcelApplication.dll"; string manifestPath = @"\\servername\deployshare\ExcelApplication.application"; string applicationVersion = "1.0.0.1"; if (ServerDocument.IsCustomized(solutionDocument)) { ServerDocument.RemoveCustomization(solutionDocument); } ServerDocument.AddCustomization( solutionDocument, assemblyName, manifestPath, applicationVersion, false);
请参见
任务
如何:以编程方式更改部署清单的路径 (2003 System)