繁体   English   中英

如何在vs2010中为64位版本的办公室开发Microsoft office word addin

[英]How to develop Microsoft office word addin for 64bit version office in vs2010

我已经在vs2010中开发了一个用于word的插件。它在32位版本的办公室中工作很酷,但它不适用于64位版本的办公室。搜索了很多,发现

For 64-bit Root\Software\Microsoft\Office\application name\Addins\add-in ID
For 32-bit Root\Software\Wow6432Node\Microsoft\Office\application name\Addins\add-in ID

注册表信息路径。我尝试注册64位的信息。即使它不在64位的办公室工作。 在64位的办公室中,我的插件显示在InActive Application Add-Ins下 。我甚至尝试启用它。

如何为64位办公室开发和部署插件..?

并得到以下错误.. !!

无法加载文件或程序集'xxxxx,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一。 尝试加载格式不正确的程序。

**************异常文本************** System.BadImageFormatException:无法加载文件或程序集'xxxxx,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一。 尝试加载格式不正确的程序。 文件名:'xxxxx,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'

 at MyWord.ThisAddIn.ThisAddIn_Startup(Object sender, EventArgs e)
   at MyWord.ThisAddIn.FinishInitialization()

Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreats..ExecuteCustomization.ExecutePhase(ExecutionPhases executionPhases)at Microsoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.Microsoft.VisualStudio.Tools.Office.Runtime.Interop.IExecuteCustomization2.ExecuteEntryPoints ()WRN:程序集绑定日志记录已关闭。 要启用程序集绑定失败日志记录,请将注册表值[HKLM \\ Software \\ Microsoft \\ Fusion!EnableLog](DWORD)设置为1.注意:程序集绑定失败日志记录会导致一些性能损失。 要关闭此功能,请删除注册表值[HKLM \\ Software \\ Microsoft \\ Fusion!EnableLog]。

尝试加载格式不正确的程序

在99%的情况下,这只是在64位程序中引发此异常时的一件事。 “格式不正确”是包含32位代码的DLL。 这不起作用,64位程序只能加载64位DLL。

如果您使用C#编写该加载项,那么这是一个非常简单的修复。 在Solution Explorer窗口的Properties,Build选项卡中右键单击该项目。 将“平台目标”设置为AnyCPU。 如果你看到它(VS2012及以上),请取消选中“首选32位”复选框。 对Release版本配置重复此操作。


其他可能的解释,不寻常的情况:

  • 没有安装64位版本的.NET Framework
  • 使用C ++ / CLI语言编写代码时,必须构建x64版本
  • 依赖于32位非托管DLL
  • 意外加载错误的DLL

你需要SysInternals的Process Monitor来追逐这些不幸事件。 该跟踪显示了Office程序正在查找的DLL以及它在哪个目录中查找DLL。 这将是一个很大的痕迹,从追踪的底部向后工作。

请参阅MSDN中的“使用Windows Installer部署Office解决方案”一文,其中深入介绍了所有必需的步骤。 它陈述如下:

32位

  HKEY_LOCAL_MACHINE\SOFTWARE(32-Bit)\Microsoft\Office\Excel\Addins\SampleCompany.ExcelAddIn

64位

 HKEY_LOCAL_MACHINE\SOFTWARE(32-Bit)\Microsoft\Office\Excel\Addins\SampleCompany.ExcelAddIn
 HKEY_LOCAL_MACHINE\SOFTWARE(64-Bit)\Microsoft\Office\Excel\Addins\SampleCompany.ExcelAddIn

64位Windows的安装程序需要两个注册表路径,因为用户可以在运行64位Windows的计算机上运行32位和64位版本的Office。

但是您可以检测(在自定义操作中)安装的MS Office的位数并在正确的配置单元中创建密钥。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM