2012-12-12 96 views
2

我有一个使用VS2012和VSTO开发的PowerPoint 2010应用程序级加载项。它也适用于PowerPoint 2007。我使用VS2012提供的(可怕的)InstallShield LE crimpware为其构建了一个安装程序。我已经能够将它安装在各种测试机器上,但现在我试图将其部署到客户端,但无法将其安装在某些机器上。VSTO应用程序加载项不会加载 - 说“管理加载项加载程序无法初始化”

客户端站点上的一个用户可以安装它,但该用户在IT中工作,并且在他的计算机上具有管理权限。但是,当IT管理员尝试将其安装在“普通”用户的计算机上时,安装似乎仍然正常,但该加载项未由PowerPoint加载。

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

加载行为:未加载。 Managed Add-in Loader无法初始化。

[如果是相关的,这个客户端使用Office 2007。然而要注意它适用于Office 2007的确定都在我的测试硬件和用于在客户端一个用户。]

请问有什么可以搞定为什么?作为安装的一部分,我是否应该做一些明显的事情?显然注册表项正在设置,因为加载项列在COM加载项对话框中。而我假设所有必需的文件都已安装,因为安装程序在其他机器上工作正常。

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

回答

5

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

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