无法在 Excel 2007 中为所有用户安装 VST0 Excel 加载项

本文关键字:Excel 用户 安装 VST0 加载项 2007 | 更新日期: 2023-09-27 18:31:56

我开发了一个Wix安装程序,为所有用户安装Excel插件。我想为所有用户安装 VSTO Excel 插件 Excel 2007、2010 和 2013。但我只能在所有用户的 Excel 2010 中安装它我无法在 Excel 2007 和 2013 中为所有用户安装。我正在使用以下注册表组件。我错过了什么吗?

  <Component Id="Registry_FriendlyName">
      <RegistryValue Id="RegKey_FriendlyName" Root="HKLM"
                     Key="Software'Microsoft'Office'Excel'AddIns'AddIn"
                     Name="FriendlyName"
                     Value="Add In"
                     Type="string" KeyPath="yes" />
    </Component>
    <Component Id="Registry_Description">
      <RegistryValue Id="RegKey_Description" Root="HKLM"
                     Key="Software'Microsoft'Office'Excel'AddIns'AddIn"
                     Name="Description"
                     Value="Excel Add-In"
                     Type="string" KeyPath="yes" />
    </Component>
    <Component Id="Registry_Manifest">
      <RegistryValue Id="RegKey_Manifest" Root="HKLM"
                     Key="Software'Microsoft'Office'Excel'AddIns'AddIn"
                     Name="Manifest" Value="[INSTALLFOLDER]AddIn.vsto|vstolocal"
                     Type="string" KeyPath="yes" />
    </Component>
    <Component Id="Registry_LoadBehavior">
      <RegistryValue Id="RegKey_LoadBehavior" Root="HKLM"
                     Key="Software'Microsoft'Office'Excel'AddIns'AddIn"
                     Name="LoadBehavior" Value="3"
                     Type="integer" KeyPath="yes" />
    </Component>

无法在 Excel 2007 中为所有用户安装 VST0 Excel 加载项

这更像是一个VSTO问题,而不是一个WiX问题。

您尝试安装哪个特定版本的 Excel?在那里,我相信只有 2007 SP3 和更新版本支持来自 HKLM 配置单元的插件。 在此之前,由于安全问题,他们不支持 HKLM 插件。

最后,您确定插件加载器本身没有被禁用吗? 有时,如果您无法加载插件,加载项加载器本身将被禁用。 确保仍处于启用状态。

此外,在安装并测试加载项后,请确保从命令提示符启动 Excel 并设置以下环境变量:

SET VSTO_SUPPRESSDISPLAYALERTS=0
SET VSTO_LOGALERTS=1

这将确保 Excel 在启动期间显示加载错误,以便您可以调试正在发生的情况。

我们在工作中遇到了类似的场景,但使用了 Word 插件。

我发现对于 2007 年,您需要一个额外的注册表项来"启用"vstolocal 功能,如下所述:http://support.microsoft.com/kb/976811

供参考(以防将来 URL 失效):

应用修补程序包976477(2007 Office 系统修补程序包 (Mso-x-none.msp) 的说明): 2009 年 10 月 27 日) 启用此修补程序包。为此,请按照下列步骤操作: 在注册表中,找到并单击以下注册表子项:

   HKEY_LOCAL_MACHINE'SOFTWARE'Microsoft'Office'12.0'Common'General'
   On the Edit menu, point to New, and then click DWORD Value.
   Type EnableLocalMachineVSTO, and then press ENTER.
   Right-click EnableLocalMachineVSTO, and then click Modify.
   In the Value data box, type 1, and then click OK.
   Exit Registry Editor.

我将注册表路径中的"''Office''"替换为"''Word''",因此,如果"''Excel"无法按该 URL 上的描述工作,您可能会成功使用"''Excel''"。

编辑:有关信息,我相信上面 URL 上提到的修补程序已包含在最新的 Office 2007 服务包中,因此您可能不需要单独安装它。