2

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

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

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

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

[如果相关,此客户端使用 Office 2007。但请注意,它在 Office 2007 上运行良好,无论是在我的测试硬件上还是对于客户端上的那个用户。]

我能做些什么来找出原因吗?作为安装的一部分,我应该做些什么明显的事情?显然正在设置注册表项,因为加载项已在 COM 加载项对话框中列出。而且我假设所有必需的文件都已安装,因为安装程序在其他机器上运行良好。

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

4

1 回答 1

5

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

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

于 2012-12-13T11:27:22.043 回答