VSTO应用程序加载项无法加载 - 说“托管加载项加载程序无法初始化”

时间:2012-12-12 11:52:01

标签: c# installation visual-studio-2012 vsto

我有一个使用VS2012和VSTO开发的PowerPoint 2010应用程序级外接程序。它也适用于PowerPoint 2007。我使用随VS2012提供的(可怕的)InstallShield LE crippleware为它构建了一个安装程序。我已经能够在各种测试机器上安装它,但现在我正在尝试将它部署到客户端,他们无法在某些机器上安装它。

客户端站点的一个用户可以安装它,但该用户在IT中工作并拥有其计算机的管理员权限。但是,当IT管理员尝试将其安装在“普通”用户的计算机上时,安装似乎没问题,但PowerPoint没有加载加载项。

“COM加载项”对话框显示消息:

  

加载行为:未加载。托管加载项加载程序无法初始化。

[如果相关,则此客户端使用Office 2007.请注意,在我的测试硬件和客户端的一个用户上,它在Office 2007上都可以正常工作。]

我能做些什么来弄明白为什么?作为安装的一部分,我应该做些什么吗?显然,正在设置注册表项,因为加载项列在COM加载项对话框中。我假设安装了所有必需的文件,因为安装程序在其他机器上运行正常。

我想这可能是与安全相关的问题。我应该注意到,我没有做任何安全方面的事情,我认为InstallShield在这方面没有做任何有用的事情。我不知道是否有必要对我的代码进行数字签名(我没有),或以某种方式设置一些安全策略(我不知道如何)。我已经看到一些关于使用CasPol(?)将安全设置应用于加载项的在线内容,但这适用于旧版本的VS和/或ClickOnce,我不确定是否需要其中任何一项。

1 个答案:

答案 0 :(得分:5)

事实证明,VSTO运行时未随Office 2007一起安装(随Office 2010一起安装)。可以加载加载项的IT用户已经拥有它,因为他安装了包含它的其他内容(我猜)。其他用户没有。

所以,我更新了我的安装程序以包含它,现在它可以正常工作。